{"schema_version":"1.0","generated_at":"2026-09-08","snapshot_date":"2026-09-08","default_version":"18","preview_version":"19","scope":{"included":["All core pg_catalog catalog tables and views, verified against complete source inventories and fresh exact-release instances","All exposed catalog/view columns including historical hidden OIDs; source-verified names and runtime-verified SQL types, order, nullability and array metadata","Universal MVCC system attributes retained separately in each table snapshot system_columns","Original documentation descriptions, spelling and corrected references retained with provenance"],"excluded":["information_schema views","Extension-provided objects","Catalog row contents, indexes, constraints, functions, operators and bootstrap data","Every patch-release or individual Git commit change"],"comparison_basis":"One latest-minor documentation/source snapshot per PostgreSQL major line; PostgreSQL 19 beta 3 is a preview. Wording changes are tracked separately and do not necessarily mean behavior changes."},"versions":[{"id":"9.0","label":"9.0","status":"historical","support_status":"end-of-life","source_tag":"REL9_0_23","documentation_version":"9.0.23","relation_count":80,"column_count":726,"kinds":{"catalog":44,"view":17,"statistics":19,"progress":0},"downloads":{"json":"/data/versions/9.0.json","csv":"/data/versions/9.0.csv"},"release":"9.0.23","runtime_verified":true,"runtime_download":"/data/runtime/9.0.json"},{"id":"9.1","label":"9.1","status":"historical","support_status":"end-of-life","source_tag":"REL9_1_24","documentation_version":"9.1.24","relation_count":93,"column_count":861,"kinds":{"catalog":48,"view":20,"statistics":25,"progress":0},"downloads":{"json":"/data/versions/9.1.json","csv":"/data/versions/9.1.csv"},"release":"9.1.24","runtime_verified":true,"runtime_download":"/data/runtime/9.1.json"},{"id":"9.2","label":"9.2","status":"historical","support_status":"end-of-life","source_tag":"REL9_2_24","documentation_version":"9.2.24","relation_count":95,"column_count":895,"kinds":{"catalog":50,"view":20,"statistics":25,"progress":0},"downloads":{"json":"/data/versions/9.2.json","csv":"/data/versions/9.2.csv"},"release":"9.2.24","runtime_verified":true,"runtime_download":"/data/runtime/9.2.json"},{"id":"9.3","label":"9.3","status":"historical","support_status":"end-of-life","source_tag":"REL9_3_25","documentation_version":"9.3.25","relation_count":97,"column_count":913,"kinds":{"catalog":51,"view":21,"statistics":25,"progress":0},"downloads":{"json":"/data/versions/9.3.json","csv":"/data/versions/9.3.csv"},"release":"9.3.25","runtime_verified":true,"runtime_download":"/data/runtime/9.3.json"},{"id":"9.4","label":"9.4","status":"historical","support_status":"end-of-life","source_tag":"REL9_4_26","documentation_version":"9.4.26","relation_count":99,"column_count":946,"kinds":{"catalog":51,"view":22,"statistics":26,"progress":0},"downloads":{"json":"/data/versions/9.4.json","csv":"/data/versions/9.4.csv"},"release":"9.4.26","runtime_verified":true,"runtime_download":"/data/runtime/9.4.json"},{"id":"9.5","label":"9.5","status":"historical","support_status":"end-of-life","source_tag":"REL9_5_25","documentation_version":"9.5.25","relation_count":106,"column_count":991,"kinds":{"catalog":54,"view":25,"statistics":27,"progress":0},"downloads":{"json":"/data/versions/9.5.json","csv":"/data/versions/9.5.csv"},"release":"9.5.25","runtime_verified":true,"runtime_download":"/data/runtime/9.5.json"},{"id":"9.6","label":"9.6","status":"historical","support_status":"end-of-life","source_tag":"REL9_6_24","documentation_version":"9.6.24","relation_count":110,"column_count":1000,"kinds":{"catalog":55,"view":26,"statistics":28,"progress":1},"downloads":{"json":"/data/versions/9.6.json","csv":"/data/versions/9.6.csv"},"release":"9.6.24","runtime_verified":true,"runtime_download":"/data/runtime/9.6.json"},{"id":"10","label":"10","status":"historical","support_status":"end-of-life","source_tag":"REL_10_23","documentation_version":"10.23","relation_count":121,"column_count":1093,"kinds":{"catalog":62,"view":29,"statistics":29,"progress":1},"downloads":{"json":"/data/versions/10.json","csv":"/data/versions/10.csv"},"release":"10.23","runtime_verified":true,"runtime_download":"/data/runtime/10.json"},{"id":"11","label":"11","status":"historical","support_status":"end-of-life","source_tag":"REL_11_22","documentation_version":"11.22","relation_count":121,"column_count":1102,"kinds":{"catalog":62,"view":29,"statistics":29,"progress":1},"downloads":{"json":"/data/versions/11.json","csv":"/data/versions/11.csv"},"release":"11.22","runtime_verified":true,"runtime_download":"/data/runtime/11.json"},{"id":"12","label":"12","status":"historical","support_status":"end-of-life","source_tag":"REL_12_22","documentation_version":"12.22","relation_count":126,"column_count":1158,"kinds":{"catalog":63,"view":30,"statistics":30,"progress":3},"downloads":{"json":"/data/versions/12.json","csv":"/data/versions/12.csv"},"release":"12.22","runtime_verified":true,"runtime_download":"/data/runtime/12.json"},{"id":"13","label":"13","status":"historical","support_status":"end-of-life","source_tag":"REL_13_23","documentation_version":"13.23","relation_count":129,"column_count":1192,"kinds":{"catalog":62,"view":31,"statistics":31,"progress":5},"downloads":{"json":"/data/versions/13.json","csv":"/data/versions/13.csv"},"release":"13.23","runtime_verified":true,"runtime_download":"/data/runtime/13.json"},{"id":"14","label":"14","status":"historical","support_status":"supported","source_tag":"REL_14_24","documentation_version":"14.24","relation_count":134,"column_count":1267,"kinds":{"catalog":62,"view":33,"statistics":33,"progress":6},"downloads":{"json":"/data/versions/14.json","csv":"/data/versions/14.csv"},"release":"14.24","runtime_verified":true,"runtime_download":"/data/runtime/14.json"},{"id":"15","label":"15","status":"historical","support_status":"supported","source_tag":"REL_15_19","documentation_version":"15.19","relation_count":139,"column_count":1308,"kinds":{"catalog":64,"view":34,"statistics":35,"progress":6},"downloads":{"json":"/data/versions/15.json","csv":"/data/versions/15.csv"},"release":"15.19","runtime_verified":true,"runtime_download":"/data/runtime/15.json"},{"id":"16","label":"16","status":"historical","support_status":"supported","source_tag":"REL_16_15","documentation_version":"16.15","relation_count":140,"column_count":1358,"kinds":{"catalog":64,"view":34,"statistics":36,"progress":6},"downloads":{"json":"/data/versions/16.json","csv":"/data/versions/16.csv"},"release":"16.15","runtime_verified":true,"runtime_download":"/data/runtime/16.json"},{"id":"17","label":"17","status":"historical","support_status":"supported","source_tag":"REL_17_11","documentation_version":"17.11","relation_count":142,"column_count":1377,"kinds":{"catalog":64,"view":35,"statistics":37,"progress":6},"downloads":{"json":"/data/versions/17.json","csv":"/data/versions/17.csv"},"release":"17.11","runtime_verified":true,"runtime_download":"/data/runtime/17.json"},{"id":"18","label":"18","status":"stable","support_status":"supported","source_tag":"REL_18_6","documentation_version":"18.6","relation_count":144,"column_count":1423,"kinds":{"catalog":64,"view":37,"statistics":37,"progress":6},"downloads":{"json":"/data/versions/18.json","csv":"/data/versions/18.csv"},"release":"18.6","runtime_verified":true,"runtime_download":"/data/runtime/18.json"},{"id":"19","label":"19 beta 3","status":"preview","support_status":"preview","source_tag":"REL_19_BETA3","documentation_version":"19beta3","relation_count":156,"column_count":1561,"kinds":{"catalog":69,"view":39,"statistics":40,"progress":8},"downloads":{"json":"/data/versions/19.json","csv":"/data/versions/19.csv"},"release":"19beta3","runtime_verified":true,"runtime_download":"/data/runtime/19.json"}],"relations":[{"name":"pg_aggregate","kind":"catalog","summary":"aggregate functions","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_aggregate stores information about aggregate functions. An aggregate function is a function that operates on a set of values (typically one column from each row that matches a query condition) and returns a single value computed from all these values. Typical aggregate functions are sum, count, and max. Each entry in pg_aggregate is an extension of an entry in pg_proc. The pg_proc entry carries the aggregate's name, input and output data types, and other information that is similar to ordinary functions.","columns":[{"name":"aggfnoid","type":"regproc","description":"pg_proc OID of the aggregate function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransfn","type":"regproc","description":"Transition function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalfn","type":"regproc","description":"Final function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggsortop","type":"oid","description":"Associated sort operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"agginitval","type":"text","description":"The initial value of the transition state. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-aggregate.html","source_path":"sources/postgresql/9.0/catalog-pg-aggregate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_aggregate.h","definition_source_path":"sources/postgresql/9.0/source/pg_aggregate.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_aggregate stores information about aggregate functions. An aggregate function is a function that operates on a set of values (typically one column from each row that matches a query condition) and returns a single value computed from all these values. Typical aggregate functions are sum, count, and max. Each entry in pg_aggregate is an extension of an entry in pg_proc. The pg_proc entry carries the aggregate's name, input and output data types, and other information that is similar to ordinary functions.","columns":[{"name":"aggfnoid","type":"regproc","description":"pg_proc OID of the aggregate function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransfn","type":"regproc","description":"Transition function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalfn","type":"regproc","description":"Final function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggsortop","type":"oid","description":"Associated sort operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"agginitval","type":"text","description":"The initial value of the transition state. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-aggregate.html","source_path":"sources/postgresql/9.1/catalog-pg-aggregate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_aggregate.h","definition_source_path":"sources/postgresql/9.1/source/pg_aggregate.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_aggregate stores information about aggregate functions. An aggregate function is a function that operates on a set of values (typically one column from each row that matches a query condition) and returns a single value computed from all these values. Typical aggregate functions are sum, count, and max. Each entry in pg_aggregate is an extension of an entry in pg_proc. The pg_proc entry carries the aggregate's name, input and output data types, and other information that is similar to ordinary functions.","columns":[{"name":"aggfnoid","type":"regproc","description":"pg_proc OID of the aggregate function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransfn","type":"regproc","description":"Transition function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalfn","type":"regproc","description":"Final function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggsortop","type":"oid","description":"Associated sort operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"agginitval","type":"text","description":"The initial value of the transition state. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-aggregate.html","source_path":"sources/postgresql/9.2/catalog-pg-aggregate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_aggregate.h","definition_source_path":"sources/postgresql/9.2/source/pg_aggregate.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_aggregate stores information about aggregate functions. An aggregate function is a function that operates on a set of values (typically one column from each row that matches a query condition) and returns a single value computed from all these values. Typical aggregate functions are sum, count, and max. Each entry in pg_aggregate is an extension of an entry in pg_proc. The pg_proc entry carries the aggregate's name, input and output data types, and other information that is similar to ordinary functions.","columns":[{"name":"aggfnoid","type":"regproc","description":"pg_proc OID of the aggregate function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransfn","type":"regproc","description":"Transition function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalfn","type":"regproc","description":"Final function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggsortop","type":"oid","description":"Associated sort operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"agginitval","type":"text","description":"The initial value of the transition state. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-aggregate.html","source_path":"sources/postgresql/9.3/catalog-pg-aggregate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_aggregate.h","definition_source_path":"sources/postgresql/9.3/source/pg_aggregate.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_aggregate stores information about aggregate functions. An aggregate function is a function that operates on a set of values (typically one column from each row that matches a query condition) and returns a single value computed from all these values. Typical aggregate functions are sum, count, and max. Each entry in pg_aggregate is an extension of an entry in pg_proc. The pg_proc entry carries the aggregate's name, input and output data types, and other information that is similar to ordinary functions.","columns":[{"name":"aggfnoid","type":"regproc","description":"pg_proc OID of the aggregate function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggkind","type":"\"char\"","description":"Aggregate kind: n for \"normal\" aggregates, o for \"ordered-set\" aggregates, or h for \"hypothetical-set\" aggregates","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggnumdirectargs","type":"smallint","description":"Number of direct (non-aggregated) arguments of an ordered-set or hypothetical-set aggregate, counting a variadic array as one argument. If equal to pronargs, the aggregate must be variadic and the variadic array describes the aggregated arguments as well as the final direct arguments. Always zero for normal aggregates.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransfn","type":"regproc","description":"Transition function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalfn","type":"regproc","description":"Final function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransfn","type":"regproc","description":"Forward transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggminvtransfn","type":"regproc","description":"Inverse transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalfn","type":"regproc","description":"Final function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggmfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggsortop","type":"oid","description":"Associated sort operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data for moving-aggregate mode (zero if none)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data for moving-aggregate mode, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"agginitval","type":"text","description":"The initial value of the transition state. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"aggminitval","type":"text","description":"The initial value of the transition state for moving-aggregate mode. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-aggregate.html","source_path":"sources/postgresql/9.4/catalog-pg-aggregate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_aggregate.h","definition_source_path":"sources/postgresql/9.4/source/pg_aggregate.h","source_column_count":17,"documentary_schema_source":"documentation","relation_oid":2600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_aggregate stores information about aggregate functions. An aggregate function is a function that operates on a set of values (typically one column from each row that matches a query condition) and returns a single value computed from all these values. Typical aggregate functions are sum, count, and max. Each entry in pg_aggregate is an extension of an entry in pg_proc. The pg_proc entry carries the aggregate's name, input and output data types, and other information that is similar to ordinary functions.","columns":[{"name":"aggfnoid","type":"regproc","description":"pg_proc OID of the aggregate function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggkind","type":"\"char\"","description":"Aggregate kind: n for \"normal\" aggregates, o for \"ordered-set\" aggregates, or h for \"hypothetical-set\" aggregates","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggnumdirectargs","type":"smallint","description":"Number of direct (non-aggregated) arguments of an ordered-set or hypothetical-set aggregate, counting a variadic array as one argument. If equal to pronargs, the aggregate must be variadic and the variadic array describes the aggregated arguments as well as the final direct arguments. Always zero for normal aggregates.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransfn","type":"regproc","description":"Transition function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalfn","type":"regproc","description":"Final function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransfn","type":"regproc","description":"Forward transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggminvtransfn","type":"regproc","description":"Inverse transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalfn","type":"regproc","description":"Final function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggmfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggsortop","type":"oid","description":"Associated sort operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data for moving-aggregate mode (zero if none)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data for moving-aggregate mode, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"agginitval","type":"text","description":"The initial value of the transition state. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"aggminitval","type":"text","description":"The initial value of the transition state for moving-aggregate mode. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-aggregate.html","source_path":"sources/postgresql/9.5/catalog-pg-aggregate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_aggregate.h","definition_source_path":"sources/postgresql/9.5/source/pg_aggregate.h","source_column_count":17,"documentary_schema_source":"documentation","relation_oid":2600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_aggregate stores information about aggregate functions. An aggregate function is a function that operates on a set of values (typically one column from each row that matches a query condition) and returns a single value computed from all these values. Typical aggregate functions are sum, count, and max. Each entry in pg_aggregate is an extension of an entry in pg_proc. The pg_proc entry carries the aggregate's name, input and output data types, and other information that is similar to ordinary functions.","columns":[{"name":"aggfnoid","type":"regproc","description":"pg_proc OID of the aggregate function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggkind","type":"\"char\"","description":"Aggregate kind: n for \"normal\" aggregates, o for \"ordered-set\" aggregates, or h for \"hypothetical-set\" aggregates","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggnumdirectargs","type":"smallint","description":"Number of direct (non-aggregated) arguments of an ordered-set or hypothetical-set aggregate, counting a variadic array as one argument. If equal to pronargs, the aggregate must be variadic and the variadic array describes the aggregated arguments as well as the final direct arguments. Always zero for normal aggregates.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransfn","type":"regproc","description":"Transition function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalfn","type":"regproc","description":"Final function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggcombinefn","type":"regproc","description":"Combine function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggserialfn","type":"regproc","description":"Serialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggdeserialfn","type":"regproc","description":"Deserialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransfn","type":"regproc","description":"Forward transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggminvtransfn","type":"regproc","description":"Inverse transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalfn","type":"regproc","description":"Final function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggmfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggsortop","type":"oid","description":"Associated sort operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data for moving-aggregate mode (zero if none)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data for moving-aggregate mode, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"agginitval","type":"text","description":"The initial value of the transition state. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"aggminitval","type":"text","description":"The initial value of the transition state for moving-aggregate mode. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-aggregate.html","source_path":"sources/postgresql/9.6/catalog-pg-aggregate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_aggregate.h","definition_source_path":"sources/postgresql/9.6/source/pg_aggregate.h","source_column_count":20,"documentary_schema_source":"documentation","relation_oid":2600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_aggregate stores information about aggregate functions. An aggregate function is a function that operates on a set of values (typically one column from each row that matches a query condition) and returns a single value computed from all these values. Typical aggregate functions are sum, count, and max. Each entry in pg_aggregate is an extension of an entry in pg_proc. The pg_proc entry carries the aggregate's name, input and output data types, and other information that is similar to ordinary functions.","columns":[{"name":"aggfnoid","type":"regproc","description":"pg_proc OID of the aggregate function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggkind","type":"\"char\"","description":"Aggregate kind: n for “normal” aggregates, o for “ordered-set” aggregates, or h for “hypothetical-set” aggregates","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggnumdirectargs","type":"smallint","description":"Number of direct (non-aggregated) arguments of an ordered-set or hypothetical-set aggregate, counting a variadic array as one argument. If equal to pronargs, the aggregate must be variadic and the variadic array describes the aggregated arguments as well as the final direct arguments. Always zero for normal aggregates.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransfn","type":"regproc","description":"Transition function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalfn","type":"regproc","description":"Final function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggcombinefn","type":"regproc","description":"Combine function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggserialfn","type":"regproc","description":"Serialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggdeserialfn","type":"regproc","description":"Deserialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransfn","type":"regproc","description":"Forward transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggminvtransfn","type":"regproc","description":"Inverse transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalfn","type":"regproc","description":"Final function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggmfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggsortop","type":"oid","description":"Associated sort operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data for moving-aggregate mode (zero if none)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data for moving-aggregate mode, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"agginitval","type":"text","description":"The initial value of the transition state. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"aggminitval","type":"text","description":"The initial value of the transition state for moving-aggregate mode. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-aggregate.html","source_path":"sources/postgresql/10/catalog-pg-aggregate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_aggregate.h","definition_source_path":"sources/postgresql/10/source/pg_aggregate.h","source_column_count":20,"documentary_schema_source":"documentation","relation_oid":2600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_aggregate stores information about aggregate functions. An aggregate function is a function that operates on a set of values (typically one column from each row that matches a query condition) and returns a single value computed from all these values. Typical aggregate functions are sum, count, and max. Each entry in pg_aggregate is an extension of an entry in pg_proc. The pg_proc entry carries the aggregate's name, input and output data types, and other information that is similar to ordinary functions.","columns":[{"name":"aggfnoid","type":"regproc","description":"pg_proc OID of the aggregate function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggkind","type":"\"char\"","description":"Aggregate kind: n for “normal” aggregates, o for “ordered-set” aggregates, or h for “hypothetical-set” aggregates","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggnumdirectargs","type":"smallint","description":"Number of direct (non-aggregated) arguments of an ordered-set or hypothetical-set aggregate, counting a variadic array as one argument. If equal to pronargs, the aggregate must be variadic and the variadic array describes the aggregated arguments as well as the final direct arguments. Always zero for normal aggregates.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransfn","type":"regproc","description":"Transition function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalfn","type":"regproc","description":"Final function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggcombinefn","type":"regproc","description":"Combine function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggserialfn","type":"regproc","description":"Serialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggdeserialfn","type":"regproc","description":"Deserialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransfn","type":"regproc","description":"Forward transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggminvtransfn","type":"regproc","description":"Inverse transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalfn","type":"regproc","description":"Final function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggmfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalmodify","type":"\"char\"","description":"Whether aggfinalfn modifies the transition state value: r if it is read-only, s if the aggtransfn cannot be applied after the aggfinalfn, or w if it writes on the value","documented_type":"char","hidden":false,"type_oid":18,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalmodify","type":"\"char\"","description":"Like aggfinalmodify, but for the aggmfinalfn","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggsortop","type":"oid","description":"Associated sort operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data for moving-aggregate mode (zero if none)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data for moving-aggregate mode, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"agginitval","type":"text","description":"The initial value of the transition state. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"aggminitval","type":"text","description":"The initial value of the transition state for moving-aggregate mode. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-aggregate.html","source_path":"sources/postgresql/11/catalog-pg-aggregate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_aggregate.h","definition_source_path":"sources/postgresql/11/source/pg_aggregate.h","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":2600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_aggregate stores information about aggregate functions. An aggregate function is a function that operates on a set of values (typically one column from each row that matches a query condition) and returns a single value computed from all these values. Typical aggregate functions are sum, count, and max. Each entry in pg_aggregate is an extension of an entry in pg_proc. The pg_proc entry carries the aggregate's name, input and output data types, and other information that is similar to ordinary functions.","columns":[{"name":"aggfnoid","type":"regproc","description":"pg_proc OID of the aggregate function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggkind","type":"\"char\"","description":"Aggregate kind: n for “normal” aggregates, o for “ordered-set” aggregates, or h for “hypothetical-set” aggregates","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggnumdirectargs","type":"smallint","description":"Number of direct (non-aggregated) arguments of an ordered-set or hypothetical-set aggregate, counting a variadic array as one argument. If equal to pronargs, the aggregate must be variadic and the variadic array describes the aggregated arguments as well as the final direct arguments. Always zero for normal aggregates.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransfn","type":"regproc","description":"Transition function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalfn","type":"regproc","description":"Final function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggcombinefn","type":"regproc","description":"Combine function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggserialfn","type":"regproc","description":"Serialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggdeserialfn","type":"regproc","description":"Deserialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransfn","type":"regproc","description":"Forward transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggminvtransfn","type":"regproc","description":"Inverse transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalfn","type":"regproc","description":"Final function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggmfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalmodify","type":"\"char\"","description":"Whether aggfinalfn modifies the transition state value: r if it is read-only, s if the aggtransfn cannot be applied after the aggfinalfn, or w if it writes on the value","documented_type":"char","hidden":false,"type_oid":18,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalmodify","type":"\"char\"","description":"Like aggfinalmodify, but for the aggmfinalfn","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggsortop","type":"oid","description":"Associated sort operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data for moving-aggregate mode (zero if none)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data for moving-aggregate mode, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"agginitval","type":"text","description":"The initial value of the transition state. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"aggminitval","type":"text","description":"The initial value of the transition state for moving-aggregate mode. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-aggregate.html","source_path":"sources/postgresql/12/catalog-pg-aggregate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_aggregate.h","definition_source_path":"sources/postgresql/12/source/pg_aggregate.h","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":2600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_aggregate stores information about aggregate functions. An aggregate function is a function that operates on a set of values (typically one column from each row that matches a query condition) and returns a single value computed from all these values. Typical aggregate functions are sum, count, and max. Each entry in pg_aggregate is an extension of an entry in pg_proc. The pg_proc entry carries the aggregate's name, input and output data types, and other information that is similar to ordinary functions.","columns":[{"name":"aggfnoid","type":"regproc","description":"pg_proc OID of the aggregate function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggkind","type":"\"char\"","description":"Aggregate kind: n for “normal” aggregates, o for “ordered-set” aggregates, or h for “hypothetical-set” aggregates","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggnumdirectargs","type":"smallint","description":"Number of direct (non-aggregated) arguments of an ordered-set or hypothetical-set aggregate, counting a variadic array as one argument. If equal to pronargs, the aggregate must be variadic and the variadic array describes the aggregated arguments as well as the final direct arguments. Always zero for normal aggregates.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransfn","type":"regproc","description":"Transition function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalfn","type":"regproc","description":"Final function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggcombinefn","type":"regproc","description":"Combine function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggserialfn","type":"regproc","description":"Serialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggdeserialfn","type":"regproc","description":"Deserialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransfn","type":"regproc","description":"Forward transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggminvtransfn","type":"regproc","description":"Inverse transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalfn","type":"regproc","description":"Final function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggmfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalmodify","type":"\"char\"","description":"Whether aggfinalfn modifies the transition state value: r if it is read-only, s if the aggtransfn cannot be applied after the aggfinalfn, or w if it writes on the value","documented_type":"char","hidden":false,"type_oid":18,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalmodify","type":"\"char\"","description":"Like aggfinalmodify, but for the aggmfinalfn","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggsortop","type":"oid","description":"Associated sort operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data for moving-aggregate mode (zero if none)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data for moving-aggregate mode, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"agginitval","type":"text","description":"The initial value of the transition state. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"aggminitval","type":"text","description":"The initial value of the transition state for moving-aggregate mode. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-aggregate.html","source_path":"sources/postgresql/13/catalog-pg-aggregate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_aggregate.h","definition_source_path":"sources/postgresql/13/source/pg_aggregate.h","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":2600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_aggregate stores information about aggregate functions. An aggregate function is a function that operates on a set of values (typically one column from each row that matches a query condition) and returns a single value computed from all these values. Typical aggregate functions are sum, count, and max. Each entry in pg_aggregate is an extension of an entry in pg_proc. The pg_proc entry carries the aggregate's name, input and output data types, and other information that is similar to ordinary functions.","columns":[{"name":"aggfnoid","type":"regproc","description":"pg_proc OID of the aggregate function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggkind","type":"\"char\"","description":"Aggregate kind: n for “normal” aggregates, o for “ordered-set” aggregates, or h for “hypothetical-set” aggregates","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggnumdirectargs","type":"smallint","description":"Number of direct (non-aggregated) arguments of an ordered-set or hypothetical-set aggregate, counting a variadic array as one argument. If equal to pronargs, the aggregate must be variadic and the variadic array describes the aggregated arguments as well as the final direct arguments. Always zero for normal aggregates.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransfn","type":"regproc","description":"Transition function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalfn","type":"regproc","description":"Final function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggcombinefn","type":"regproc","description":"Combine function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggserialfn","type":"regproc","description":"Serialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggdeserialfn","type":"regproc","description":"Deserialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransfn","type":"regproc","description":"Forward transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggminvtransfn","type":"regproc","description":"Inverse transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalfn","type":"regproc","description":"Final function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggmfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalmodify","type":"\"char\"","description":"Whether aggfinalfn modifies the transition state value: r if it is read-only, s if the aggtransfn cannot be applied after the aggfinalfn, or w if it writes on the value","documented_type":"char","hidden":false,"type_oid":18,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalmodify","type":"\"char\"","description":"Like aggfinalmodify, but for the aggmfinalfn","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggsortop","type":"oid","description":"Associated sort operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data for moving-aggregate mode (zero if none)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data for moving-aggregate mode, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"agginitval","type":"text","description":"The initial value of the transition state. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"aggminitval","type":"text","description":"The initial value of the transition state for moving-aggregate mode. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-aggregate.html","source_path":"sources/postgresql/14/catalog-pg-aggregate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_aggregate.h","definition_source_path":"sources/postgresql/14/source/pg_aggregate.h","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":2600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_aggregate stores information about aggregate functions. An aggregate function is a function that operates on a set of values (typically one column from each row that matches a query condition) and returns a single value computed from all these values. Typical aggregate functions are sum, count, and max. Each entry in pg_aggregate is an extension of an entry in pg_proc. The pg_proc entry carries the aggregate's name, input and output data types, and other information that is similar to ordinary functions.","columns":[{"name":"aggfnoid","type":"regproc","description":"pg_proc OID of the aggregate function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggkind","type":"\"char\"","description":"Aggregate kind: n for “normal” aggregates, o for “ordered-set” aggregates, or h for “hypothetical-set” aggregates","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggnumdirectargs","type":"smallint","description":"Number of direct (non-aggregated) arguments of an ordered-set or hypothetical-set aggregate, counting a variadic array as one argument. If equal to pronargs, the aggregate must be variadic and the variadic array describes the aggregated arguments as well as the final direct arguments. Always zero for normal aggregates.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransfn","type":"regproc","description":"Transition function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalfn","type":"regproc","description":"Final function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggcombinefn","type":"regproc","description":"Combine function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggserialfn","type":"regproc","description":"Serialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggdeserialfn","type":"regproc","description":"Deserialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransfn","type":"regproc","description":"Forward transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggminvtransfn","type":"regproc","description":"Inverse transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalfn","type":"regproc","description":"Final function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggmfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalmodify","type":"\"char\"","description":"Whether aggfinalfn modifies the transition state value: r if it is read-only, s if the aggtransfn cannot be applied after the aggfinalfn, or w if it writes on the value","documented_type":"char","hidden":false,"type_oid":18,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalmodify","type":"\"char\"","description":"Like aggfinalmodify, but for the aggmfinalfn","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggsortop","type":"oid","description":"Associated sort operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data for moving-aggregate mode (zero if none)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data for moving-aggregate mode, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"agginitval","type":"text","description":"The initial value of the transition state. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"aggminitval","type":"text","description":"The initial value of the transition state for moving-aggregate mode. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-aggregate.html","source_path":"sources/postgresql/15/catalog-pg-aggregate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_aggregate.h","definition_source_path":"sources/postgresql/15/source/pg_aggregate.h","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":2600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_aggregate stores information about aggregate functions. An aggregate function is a function that operates on a set of values (typically one column from each row that matches a query condition) and returns a single value computed from all these values. Typical aggregate functions are sum, count, and max. Each entry in pg_aggregate is an extension of an entry in pg_proc. The pg_proc entry carries the aggregate's name, input and output data types, and other information that is similar to ordinary functions.","columns":[{"name":"aggfnoid","type":"regproc","description":"pg_proc OID of the aggregate function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggkind","type":"\"char\"","description":"Aggregate kind: n for “normal” aggregates, o for “ordered-set” aggregates, or h for “hypothetical-set” aggregates","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggnumdirectargs","type":"smallint","description":"Number of direct (non-aggregated) arguments of an ordered-set or hypothetical-set aggregate, counting a variadic array as one argument. If equal to pronargs, the aggregate must be variadic and the variadic array describes the aggregated arguments as well as the final direct arguments. Always zero for normal aggregates.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransfn","type":"regproc","description":"Transition function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalfn","type":"regproc","description":"Final function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggcombinefn","type":"regproc","description":"Combine function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggserialfn","type":"regproc","description":"Serialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggdeserialfn","type":"regproc","description":"Deserialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransfn","type":"regproc","description":"Forward transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggminvtransfn","type":"regproc","description":"Inverse transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalfn","type":"regproc","description":"Final function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggmfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalmodify","type":"\"char\"","description":"Whether aggfinalfn modifies the transition state value: r if it is read-only, s if the aggtransfn cannot be applied after the aggfinalfn, or w if it writes on the value","documented_type":"char","hidden":false,"type_oid":18,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalmodify","type":"\"char\"","description":"Like aggfinalmodify, but for the aggmfinalfn","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggsortop","type":"oid","description":"Associated sort operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data for moving-aggregate mode (zero if none)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data for moving-aggregate mode, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"agginitval","type":"text","description":"The initial value of the transition state. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"aggminitval","type":"text","description":"The initial value of the transition state for moving-aggregate mode. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-aggregate.html","source_path":"sources/postgresql/16/catalog-pg-aggregate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_aggregate.h","definition_source_path":"sources/postgresql/16/source/pg_aggregate.h","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":2600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_aggregate stores information about aggregate functions. An aggregate function is a function that operates on a set of values (typically one column from each row that matches a query condition) and returns a single value computed from all these values. Typical aggregate functions are sum, count, and max. Each entry in pg_aggregate is an extension of an entry in pg_proc. The pg_proc entry carries the aggregate's name, input and output data types, and other information that is similar to ordinary functions.","columns":[{"name":"aggfnoid","type":"regproc","description":"pg_proc OID of the aggregate function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggkind","type":"\"char\"","description":"Aggregate kind: n for “normal” aggregates, o for “ordered-set” aggregates, or h for “hypothetical-set” aggregates","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggnumdirectargs","type":"smallint","description":"Number of direct (non-aggregated) arguments of an ordered-set or hypothetical-set aggregate, counting a variadic array as one argument. If equal to pronargs, the aggregate must be variadic and the variadic array describes the aggregated arguments as well as the final direct arguments. Always zero for normal aggregates.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransfn","type":"regproc","description":"Transition function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalfn","type":"regproc","description":"Final function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggcombinefn","type":"regproc","description":"Combine function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggserialfn","type":"regproc","description":"Serialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggdeserialfn","type":"regproc","description":"Deserialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransfn","type":"regproc","description":"Forward transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggminvtransfn","type":"regproc","description":"Inverse transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalfn","type":"regproc","description":"Final function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggmfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalmodify","type":"\"char\"","description":"Whether aggfinalfn modifies the transition state value: r if it is read-only, s if the aggtransfn cannot be applied after the aggfinalfn, or w if it writes on the value","documented_type":"char","hidden":false,"type_oid":18,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalmodify","type":"\"char\"","description":"Like aggfinalmodify, but for the aggmfinalfn","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggsortop","type":"oid","description":"Associated sort operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data for moving-aggregate mode (zero if none)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data for moving-aggregate mode, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"agginitval","type":"text","description":"The initial value of the transition state. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"aggminitval","type":"text","description":"The initial value of the transition state for moving-aggregate mode. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-aggregate.html","source_path":"sources/postgresql/17/catalog-pg-aggregate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_aggregate.h","definition_source_path":"sources/postgresql/17/source/pg_aggregate.h","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":2600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_aggregate stores information about aggregate functions. An aggregate function is a function that operates on a set of values (typically one column from each row that matches a query condition) and returns a single value computed from all these values. Typical aggregate functions are sum, count, and max. Each entry in pg_aggregate is an extension of an entry in pg_proc. The pg_proc entry carries the aggregate's name, input and output data types, and other information that is similar to ordinary functions.","columns":[{"name":"aggfnoid","type":"regproc","description":"pg_proc OID of the aggregate function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggkind","type":"\"char\"","description":"Aggregate kind: n for “normal” aggregates, o for “ordered-set” aggregates, or h for “hypothetical-set” aggregates","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggnumdirectargs","type":"smallint","description":"Number of direct (non-aggregated) arguments of an ordered-set or hypothetical-set aggregate, counting a variadic array as one argument. If equal to pronargs, the aggregate must be variadic and the variadic array describes the aggregated arguments as well as the final direct arguments. Always zero for normal aggregates.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransfn","type":"regproc","description":"Transition function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalfn","type":"regproc","description":"Final function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggcombinefn","type":"regproc","description":"Combine function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggserialfn","type":"regproc","description":"Serialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggdeserialfn","type":"regproc","description":"Deserialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransfn","type":"regproc","description":"Forward transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggminvtransfn","type":"regproc","description":"Inverse transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalfn","type":"regproc","description":"Final function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggmfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalmodify","type":"\"char\"","description":"Whether aggfinalfn modifies the transition state value: r if it is read-only, s if the aggtransfn cannot be applied after the aggfinalfn, or w if it writes on the value","documented_type":"char","hidden":false,"type_oid":18,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalmodify","type":"\"char\"","description":"Like aggfinalmodify, but for the aggmfinalfn","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggsortop","type":"oid","description":"Associated sort operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data for moving-aggregate mode (zero if none)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data for moving-aggregate mode, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"agginitval","type":"text","description":"The initial value of the transition state. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"aggminitval","type":"text","description":"The initial value of the transition state for moving-aggregate mode. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-aggregate.html","source_path":"sources/postgresql/18/catalog-pg-aggregate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_aggregate.h","definition_source_path":"sources/postgresql/18/source/pg_aggregate.h","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":2600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_aggregate stores information about aggregate functions. An aggregate function is a function that operates on a set of values (typically one column from each row that matches a query condition) and returns a single value computed from all these values. Typical aggregate functions are sum, count, and max. Each entry in pg_aggregate is an extension of an entry in pg_proc. The pg_proc entry carries the aggregate's name, input and output data types, and other information that is similar to ordinary functions.","columns":[{"name":"aggfnoid","type":"regproc","description":"pg_proc OID of the aggregate function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggkind","type":"\"char\"","description":"Aggregate kind: n for “normal” aggregates, o for “ordered-set” aggregates, or h for “hypothetical-set” aggregates","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggnumdirectargs","type":"smallint","description":"Number of direct (non-aggregated) arguments of an ordered-set or hypothetical-set aggregate, counting a variadic array as one argument. If equal to pronargs, the aggregate must be variadic and the variadic array describes the aggregated arguments as well as the final direct arguments. Always zero for normal aggregates.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransfn","type":"regproc","description":"Transition function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalfn","type":"regproc","description":"Final function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggcombinefn","type":"regproc","description":"Combine function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggserialfn","type":"regproc","description":"Serialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggdeserialfn","type":"regproc","description":"Deserialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransfn","type":"regproc","description":"Forward transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggminvtransfn","type":"regproc","description":"Inverse transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalfn","type":"regproc","description":"Final function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggmfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalmodify","type":"\"char\"","description":"Whether aggfinalfn modifies the transition state value: r if it is read-only, s if the aggtransfn cannot be applied after the aggfinalfn, or w if it writes on the value","documented_type":"char","hidden":false,"type_oid":18,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalmodify","type":"\"char\"","description":"Like aggfinalmodify, but for the aggmfinalfn","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggsortop","type":"oid","description":"Associated sort operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data. A positive value provides an estimate; zero means to use a default estimate. A negative value indicates the state data can grow unboundedly in size, such as when the aggregate accumulates input rows (e.g., array_agg, string_agg).","documented_type":"int4","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data for moving-aggregate mode (zero if none)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data for moving-aggregate mode, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"agginitval","type":"text","description":"The initial value of the transition state. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"aggminitval","type":"text","description":"The initial value of the transition state for moving-aggregate mode. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-aggregate.html","source_path":"sources/postgresql/19/catalog-pg-aggregate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_aggregate.h","definition_source_path":"sources/postgresql/19/source/pg_aggregate.h","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":2600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.3","to":"9.4","status":"changed","added_columns":[{"name":"aggkind","type":"\"char\"","description":"Aggregate kind: n for \"normal\" aggregates, o for \"ordered-set\" aggregates, or h for \"hypothetical-set\" aggregates","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggnumdirectargs","type":"smallint","description":"Number of direct (non-aggregated) arguments of an ordered-set or hypothetical-set aggregate, counting a variadic array as one argument. If equal to pronargs, the aggregate must be variadic and the variadic array describes the aggregated arguments as well as the final direct arguments. Always zero for normal aggregates.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransfn","type":"regproc","description":"Forward transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggminvtransfn","type":"regproc","description":"Inverse transition function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalfn","type":"regproc","description":"Final function for moving-aggregate mode (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalextra","type":"boolean","description":"True to pass extra dummy arguments to aggmfinalfn","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtranstype","type":"oid","description":"Data type of the aggregate function's internal transition (state) data for moving-aggregate mode (zero if none)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmtransspace","type":"integer","description":"Approximate average size (in bytes) of the transition state data for moving-aggregate mode, or zero to use a default estimate","documented_type":"int4","hidden":false,"type_oid":23,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggminitval","type":"text","description":"The initial value of the transition state for moving-aggregate mode. This is a text field containing the initial value in its external string representation. If this field is null, the transition state value starts out null.","hidden":false,"type_oid":25,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.5","to":"9.6","status":"changed","added_columns":[{"name":"aggcombinefn","type":"regproc","description":"Combine function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggserialfn","type":"regproc","description":"Serialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggdeserialfn","type":"regproc","description":"Deserialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"aggkind","from":"Aggregate kind: n for \"normal\" aggregates, o for \"ordered-set\" aggregates, or h for \"hypothetical-set\" aggregates","to":"Aggregate kind: n for “normal” aggregates, o for “ordered-set” aggregates, or h for “hypothetical-set” aggregates"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"10","to":"11","status":"changed","added_columns":[{"name":"aggfinalmodify","type":"\"char\"","description":"Whether aggfinalfn modifies the transition state value: r if it is read-only, s if the aggtransfn cannot be applied after the aggfinalfn, or w if it writes on the value","documented_type":"char","hidden":false,"type_oid":18,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aggmfinalmodify","type":"\"char\"","description":"Like aggfinalmodify, but for the aggmfinalfn","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"aggtransspace","from":"Approximate average size (in bytes) of the transition state data, or zero to use a default estimate","to":"Approximate average size (in bytes) of the transition state data. A positive value provides an estimate; zero means to use a default estimate. A negative value indicates the state data can grow unboundedly in size, such as when the aggregate accumulates input rows (e.g., array_agg, string_agg)."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_aios","kind":"view","summary":"The pg_aios view lists all Asynchronous I/O handles that are currently in-use. An I/O handle is used to reference an I/O operation that is being prepared, executed or is in the process of completing. pg_aios contains one row for each I/O handle.","first_version":"18","last_version":"19","versions":{"18":{"description":"The pg_aios view lists all Asynchronous I/O handles that are currently in-use. An I/O handle is used to reference an I/O operation that is being prepared, executed or is in the process of completing. pg_aios contains one row for each I/O handle.\n\nThis view is mainly useful for developers of PostgreSQL, but may also be useful when tuning PostgreSQL.","columns":[{"name":"pid","type":"integer","description":"Process ID of the server process that is issuing this I/O.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"io_id","type":"integer","description":"Identifier of the I/O handle. Handles are reused once the I/O completed (or if the handle is released before I/O is started). On reuse pg_aios.io_generation is incremented.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"io_generation","type":"bigint","description":"Generation of the I/O handle.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"State of the I/O handle:","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"operation","type":"text","description":"Operation performed using the I/O handle:","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"off","type":"bigint","description":"Offset of the I/O operation.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"length","type":"bigint","description":"Length of the I/O operation.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"target","type":"text","description":"What kind of object is the I/O targeting:","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"handle_data_len","type":"smallint","description":"Length of the data associated with the I/O operation. For I/O to/from shared_buffers and temp_buffers, this indicates the number of buffers the I/O is operating on.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"raw_result","type":"integer","description":"Low-level result of the I/O operation, or NULL if the operation has not yet completed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"result","type":"text","description":"High-level result of the I/O operation:","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"target_desc","type":"text","description":"Description of what the I/O operation is targeting.","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"f_sync","type":"boolean","description":"Flag indicating whether the I/O is executed synchronously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"f_localmem","type":"boolean","description":"Flag indicating whether the I/O references process local memory.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"f_buffered","type":"boolean","description":"Flag indicating whether the I/O is buffered I/O.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-aios.html","source_path":"sources/postgresql/18/view-pg-aios.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12355,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_aios view lists all Asynchronous I/O handles that are currently in-use. An I/O handle is used to reference an I/O operation that is being prepared, executed or is in the process of completing. pg_aios contains one row for each I/O handle.\n\nThis view is mainly useful for developers of PostgreSQL, but may also be useful when tuning PostgreSQL.","columns":[{"name":"pid","type":"integer","description":"Process ID of the server process that is issuing this I/O.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"io_id","type":"integer","description":"Identifier of the I/O handle. Handles are reused once the I/O completed (or if the handle is released before I/O is started). On reuse pg_aios.io_generation is incremented.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"io_generation","type":"bigint","description":"Generation of the I/O handle.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"State of the I/O handle:","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"operation","type":"text","description":"Operation performed using the I/O handle:","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"off","type":"bigint","description":"Offset of the I/O operation.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"length","type":"bigint","description":"Length of the I/O operation.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"target","type":"text","description":"What kind of object is the I/O targeting:","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"handle_data_len","type":"smallint","description":"Length of the data associated with the I/O operation. For I/O to/from shared_buffers and temp_buffers, this indicates the number of buffers the I/O is operating on.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"raw_result","type":"integer","description":"Low-level result of the I/O operation, or NULL if the operation has not yet completed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"result","type":"text","description":"High-level result of the I/O operation:","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"target_desc","type":"text","description":"Description of what the I/O operation is targeting.","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"f_sync","type":"boolean","description":"Flag indicating whether the I/O is executed synchronously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"f_localmem","type":"boolean","description":"Flag indicating whether the I/O references process local memory.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"f_buffered","type":"boolean","description":"Flag indicating whether the I/O is buffered I/O.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-aios.html","source_path":"sources/postgresql/19/view-pg-aios.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12387,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"17","to":"18","status":"added","added_columns":[{"name":"pid","type":"integer","description":"Process ID of the server process that is issuing this I/O.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"io_id","type":"integer","description":"Identifier of the I/O handle. Handles are reused once the I/O completed (or if the handle is released before I/O is started). On reuse pg_aios.io_generation is incremented.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"io_generation","type":"bigint","description":"Generation of the I/O handle.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"State of the I/O handle:","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"operation","type":"text","description":"Operation performed using the I/O handle:","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"off","type":"bigint","description":"Offset of the I/O operation.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"length","type":"bigint","description":"Length of the I/O operation.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"target","type":"text","description":"What kind of object is the I/O targeting:","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"handle_data_len","type":"smallint","description":"Length of the data associated with the I/O operation. For I/O to/from shared_buffers and temp_buffers, this indicates the number of buffers the I/O is operating on.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"raw_result","type":"integer","description":"Low-level result of the I/O operation, or NULL if the operation has not yet completed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"result","type":"text","description":"High-level result of the I/O operation:","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"target_desc","type":"text","description":"Description of what the I/O operation is targeting.","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"f_sync","type":"boolean","description":"Flag indicating whether the I/O is executed synchronously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"f_localmem","type":"boolean","description":"Flag indicating whether the I/O references process local memory.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"f_buffered","type":"boolean","description":"Flag indicating whether the I/O is buffered I/O.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_am","kind":"catalog","summary":"relation access methods","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_am stores information about index access methods. There is one row for each index access method supported by the system. The contents of this catalog are discussed in detail in Chapter 51.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_am.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amname","type":"name","description":"Name of the access method","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amstrategies","type":"smallint","description":"Number of operator strategies for this access method, or zero if access method does not have a fixed set of operator strategies","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amsupport","type":"smallint","description":"Number of support routines for this access method","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanorder","type":"boolean","description":"Does the access method support ordered scans?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanbackward","type":"boolean","description":"Does the access method support backward scanning?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanunique","type":"boolean","description":"Does the access method support unique indexes?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanmulticol","type":"boolean","description":"Does the access method support multicolumn indexes?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoptionalkey","type":"boolean","description":"Does the access method support a scan without any constraint for the first index column?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amindexnulls","type":"boolean","description":"Does the access method support null index entries?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amsearchnulls","type":"boolean","description":"Does the access method support IS NULL/NOT NULL searches?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amstorage","type":"boolean","description":"Can index storage data type differ from column data type?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amclusterable","type":"boolean","description":"Can an index of this type be clustered on?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amkeytype","type":"oid","description":"Type of data stored in index, or zero if not a fixed type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aminsert","type":"regproc","description":"\"Insert this tuple\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambeginscan","type":"regproc","description":"\"Start new scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amgettuple","type":"regproc","description":"\"Next valid tuple\" function, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amgetbitmap","type":"regproc","description":"\"Fetch all valid tuples\" function, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amrescan","type":"regproc","description":"\"Restart this scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amendscan","type":"regproc","description":"\"End this scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ammarkpos","type":"regproc","description":"\"Mark current scan position\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amrestrpos","type":"regproc","description":"\"Restore marked scan position\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambuild","type":"regproc","description":"\"Build new index\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambulkdelete","type":"regproc","description":"Bulk-delete function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amvacuumcleanup","type":"regproc","description":"Post-VACUUM cleanup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcostestimate","type":"regproc","description":"Function to estimate cost of an index scan","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoptions","type":"regproc","description":"Function to parse and validate reloptions for an index","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-am.html","source_path":"sources/postgresql/9.0/catalog-pg-am.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_am.h","definition_source_path":"sources/postgresql/9.0/source/pg_am.h","source_column_count":27,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_am stores information about index access methods. There is one row for each index access method supported by the system. The contents of this catalog are discussed in detail in Chapter 52.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_am.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amname","type":"name","description":"Name of the access method","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amstrategies","type":"smallint","description":"Number of operator strategies for this access method, or zero if access method does not have a fixed set of operator strategies","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amsupport","type":"smallint","description":"Number of support routines for this access method","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanorder","type":"boolean","description":"Does the access method support ordered scans sorted by the indexed column's value?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanorderbyop","type":"boolean","description":"Does the access method support ordered scans sorted by the result of an operator on the indexed column?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanbackward","type":"boolean","description":"Does the access method support backward scanning?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanunique","type":"boolean","description":"Does the access method support unique indexes?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanmulticol","type":"boolean","description":"Does the access method support multicolumn indexes?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoptionalkey","type":"boolean","description":"Does the access method support a scan without any constraint for the first index column?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amsearchnulls","type":"boolean","description":"Does the access method support IS NULL/NOT NULL searches?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amstorage","type":"boolean","description":"Can index storage data type differ from column data type?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amclusterable","type":"boolean","description":"Can an index of this type be clustered on?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ampredlocks","type":"boolean","description":"Does an index of this type manage fine-grained predicate locks?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amkeytype","type":"oid","description":"Type of data stored in index, or zero if not a fixed type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aminsert","type":"regproc","description":"\"Insert this tuple\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambeginscan","type":"regproc","description":"\"Prepare for index scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amgettuple","type":"regproc","description":"\"Next valid tuple\" function, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amgetbitmap","type":"regproc","description":"\"Fetch all valid tuples\" function, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amrescan","type":"regproc","description":"\"(Re)start index scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amendscan","type":"regproc","description":"\"Clean up after index scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ammarkpos","type":"regproc","description":"\"Mark current scan position\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amrestrpos","type":"regproc","description":"\"Restore marked scan position\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambuild","type":"regproc","description":"\"Build new index\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambuildempty","type":"regproc","description":"\"Build empty index\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambulkdelete","type":"regproc","description":"Bulk-delete function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amvacuumcleanup","type":"regproc","description":"Post-VACUUM cleanup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcostestimate","type":"regproc","description":"Function to estimate cost of an index scan","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoptions","type":"regproc","description":"Function to parse and validate reloptions for an index","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-am.html","source_path":"sources/postgresql/9.1/catalog-pg-am.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_am.h","definition_source_path":"sources/postgresql/9.1/source/pg_am.h","source_column_count":29,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_am stores information about index access methods. There is one row for each index access method supported by the system. The contents of this catalog are discussed in detail in Chapter 52.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_am.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amname","type":"name","description":"Name of the access method","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amstrategies","type":"smallint","description":"Number of operator strategies for this access method, or zero if access method does not have a fixed set of operator strategies","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amsupport","type":"smallint","description":"Number of support routines for this access method","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanorder","type":"boolean","description":"Does the access method support ordered scans sorted by the indexed column's value?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanorderbyop","type":"boolean","description":"Does the access method support ordered scans sorted by the result of an operator on the indexed column?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanbackward","type":"boolean","description":"Does the access method support backward scanning?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanunique","type":"boolean","description":"Does the access method support unique indexes?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanmulticol","type":"boolean","description":"Does the access method support multicolumn indexes?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoptionalkey","type":"boolean","description":"Does the access method support a scan without any constraint for the first index column?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amsearcharray","type":"boolean","description":"Does the access method support ScalarArrayOpExpr searches?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amsearchnulls","type":"boolean","description":"Does the access method support IS NULL/NOT NULL searches?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amstorage","type":"boolean","description":"Can index storage data type differ from column data type?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amclusterable","type":"boolean","description":"Can an index of this type be clustered on?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ampredlocks","type":"boolean","description":"Does an index of this type manage fine-grained predicate locks?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amkeytype","type":"oid","description":"Type of data stored in index, or zero if not a fixed type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aminsert","type":"regproc","description":"\"Insert this tuple\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambeginscan","type":"regproc","description":"\"Prepare for index scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amgettuple","type":"regproc","description":"\"Next valid tuple\" function, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amgetbitmap","type":"regproc","description":"\"Fetch all valid tuples\" function, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amrescan","type":"regproc","description":"\"(Re)start index scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amendscan","type":"regproc","description":"\"Clean up after index scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ammarkpos","type":"regproc","description":"\"Mark current scan position\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amrestrpos","type":"regproc","description":"\"Restore marked scan position\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambuild","type":"regproc","description":"\"Build new index\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambuildempty","type":"regproc","description":"\"Build empty index\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambulkdelete","type":"regproc","description":"Bulk-delete function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amvacuumcleanup","type":"regproc","description":"Post-VACUUM cleanup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanreturn","type":"regproc","description":"Function to check whether index supports index-only scans, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcostestimate","type":"regproc","description":"Function to estimate cost of an index scan","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoptions","type":"regproc","description":"Function to parse and validate reloptions for an index","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-am.html","source_path":"sources/postgresql/9.2/catalog-pg-am.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_am.h","definition_source_path":"sources/postgresql/9.2/source/pg_am.h","source_column_count":31,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_am stores information about index access methods. There is one row for each index access method supported by the system. The contents of this catalog are discussed in detail in Chapter 54.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amname","type":"name","description":"Name of the access method","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amstrategies","type":"smallint","description":"Number of operator strategies for this access method, or zero if access method does not have a fixed set of operator strategies","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amsupport","type":"smallint","description":"Number of support routines for this access method","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanorder","type":"boolean","description":"Does the access method support ordered scans sorted by the indexed column's value?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanorderbyop","type":"boolean","description":"Does the access method support ordered scans sorted by the result of an operator on the indexed column?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanbackward","type":"boolean","description":"Does the access method support backward scanning?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanunique","type":"boolean","description":"Does the access method support unique indexes?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanmulticol","type":"boolean","description":"Does the access method support multicolumn indexes?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoptionalkey","type":"boolean","description":"Does the access method support a scan without any constraint for the first index column?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amsearcharray","type":"boolean","description":"Does the access method support ScalarArrayOpExpr searches?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amsearchnulls","type":"boolean","description":"Does the access method support IS NULL/NOT NULL searches?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amstorage","type":"boolean","description":"Can index storage data type differ from column data type?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amclusterable","type":"boolean","description":"Can an index of this type be clustered on?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ampredlocks","type":"boolean","description":"Does an index of this type manage fine-grained predicate locks?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amkeytype","type":"oid","description":"Type of data stored in index, or zero if not a fixed type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aminsert","type":"regproc","description":"\"Insert this tuple\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambeginscan","type":"regproc","description":"\"Prepare for index scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amgettuple","type":"regproc","description":"\"Next valid tuple\" function, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amgetbitmap","type":"regproc","description":"\"Fetch all valid tuples\" function, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amrescan","type":"regproc","description":"\"(Re)start index scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amendscan","type":"regproc","description":"\"Clean up after index scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ammarkpos","type":"regproc","description":"\"Mark current scan position\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amrestrpos","type":"regproc","description":"\"Restore marked scan position\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambuild","type":"regproc","description":"\"Build new index\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambuildempty","type":"regproc","description":"\"Build empty index\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambulkdelete","type":"regproc","description":"Bulk-delete function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amvacuumcleanup","type":"regproc","description":"Post-VACUUM cleanup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanreturn","type":"regproc","description":"Function to check whether index supports index-only scans, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcostestimate","type":"regproc","description":"Function to estimate cost of an index scan","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoptions","type":"regproc","description":"Function to parse and validate reloptions for an index","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-am.html","source_path":"sources/postgresql/9.3/catalog-pg-am.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_am.h","definition_source_path":"sources/postgresql/9.3/source/pg_am.h","source_column_count":31,"documentary_schema_source":"documentation","relation_oid":2601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_am stores information about index access methods. There is one row for each index access method supported by the system. The contents of this catalog are discussed in detail in Chapter 55.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amname","type":"name","description":"Name of the access method","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amstrategies","type":"smallint","description":"Number of operator strategies for this access method, or zero if access method does not have a fixed set of operator strategies","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amsupport","type":"smallint","description":"Number of support routines for this access method","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanorder","type":"boolean","description":"Does the access method support ordered scans sorted by the indexed column's value?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanorderbyop","type":"boolean","description":"Does the access method support ordered scans sorted by the result of an operator on the indexed column?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanbackward","type":"boolean","description":"Does the access method support backward scanning?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanunique","type":"boolean","description":"Does the access method support unique indexes?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanmulticol","type":"boolean","description":"Does the access method support multicolumn indexes?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoptionalkey","type":"boolean","description":"Does the access method support a scan without any constraint for the first index column?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amsearcharray","type":"boolean","description":"Does the access method support ScalarArrayOpExpr searches?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amsearchnulls","type":"boolean","description":"Does the access method support IS NULL/NOT NULL searches?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amstorage","type":"boolean","description":"Can index storage data type differ from column data type?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amclusterable","type":"boolean","description":"Can an index of this type be clustered on?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ampredlocks","type":"boolean","description":"Does an index of this type manage fine-grained predicate locks?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amkeytype","type":"oid","description":"Type of data stored in index, or zero if not a fixed type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aminsert","type":"regproc","description":"\"Insert this tuple\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambeginscan","type":"regproc","description":"\"Prepare for index scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amgettuple","type":"regproc","description":"\"Next valid tuple\" function, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amgetbitmap","type":"regproc","description":"\"Fetch all valid tuples\" function, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amrescan","type":"regproc","description":"\"(Re)start index scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amendscan","type":"regproc","description":"\"Clean up after index scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ammarkpos","type":"regproc","description":"\"Mark current scan position\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amrestrpos","type":"regproc","description":"\"Restore marked scan position\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambuild","type":"regproc","description":"\"Build new index\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambuildempty","type":"regproc","description":"\"Build empty index\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambulkdelete","type":"regproc","description":"Bulk-delete function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amvacuumcleanup","type":"regproc","description":"Post-VACUUM cleanup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanreturn","type":"regproc","description":"Function to check whether index supports index-only scans, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcostestimate","type":"regproc","description":"Function to estimate cost of an index scan","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoptions","type":"regproc","description":"Function to parse and validate reloptions for an index","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-am.html","source_path":"sources/postgresql/9.4/catalog-pg-am.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_am.h","definition_source_path":"sources/postgresql/9.4/source/pg_am.h","source_column_count":31,"documentary_schema_source":"documentation","relation_oid":2601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_am stores information about index access methods. There is one row for each index access method supported by the system. The contents of this catalog are discussed in detail in Chapter 58.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amname","type":"name","description":"Name of the access method","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amstrategies","type":"smallint","description":"Number of operator strategies for this access method, or zero if access method does not have a fixed set of operator strategies","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amsupport","type":"smallint","description":"Number of support routines for this access method","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanorder","type":"boolean","description":"Does the access method support ordered scans sorted by the indexed column's value?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanorderbyop","type":"boolean","description":"Does the access method support ordered scans sorted by the result of an operator on the indexed column?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanbackward","type":"boolean","description":"Does the access method support backward scanning?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanunique","type":"boolean","description":"Does the access method support unique indexes?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanmulticol","type":"boolean","description":"Does the access method support multicolumn indexes?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoptionalkey","type":"boolean","description":"Does the access method support a scan without any constraint for the first index column?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amsearcharray","type":"boolean","description":"Does the access method support ScalarArrayOpExpr searches?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amsearchnulls","type":"boolean","description":"Does the access method support IS NULL/NOT NULL searches?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amstorage","type":"boolean","description":"Can index storage data type differ from column data type?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amclusterable","type":"boolean","description":"Can an index of this type be clustered on?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ampredlocks","type":"boolean","description":"Does an index of this type manage fine-grained predicate locks?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amkeytype","type":"oid","description":"Type of data stored in index, or zero if not a fixed type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aminsert","type":"regproc","description":"\"Insert this tuple\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambeginscan","type":"regproc","description":"\"Prepare for index scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amgettuple","type":"regproc","description":"\"Next valid tuple\" function, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amgetbitmap","type":"regproc","description":"\"Fetch all valid tuples\" function, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amrescan","type":"regproc","description":"\"(Re)start index scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amendscan","type":"regproc","description":"\"Clean up after index scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ammarkpos","type":"regproc","description":"\"Mark current scan position\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amrestrpos","type":"regproc","description":"\"Restore marked scan position\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambuild","type":"regproc","description":"\"Build new index\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambuildempty","type":"regproc","description":"\"Build empty index\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambulkdelete","type":"regproc","description":"Bulk-delete function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amvacuumcleanup","type":"regproc","description":"Post-VACUUM cleanup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanreturn","type":"regproc","description":"Function to check whether an index column supports index-only scans. Can be zero if index-only scans are never supported.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcostestimate","type":"regproc","description":"Function to estimate cost of an index scan","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoptions","type":"regproc","description":"Function to parse and validate reloptions for an index","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-am.html","source_path":"sources/postgresql/9.5/catalog-pg-am.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_am.h","definition_source_path":"sources/postgresql/9.5/source/pg_am.h","source_column_count":31,"documentary_schema_source":"documentation","relation_oid":2601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_am stores information about relation access methods. There is one row for each access method supported by the system. Currently, only indexes have access methods. The requirements for index access methods are discussed in detail in Chapter 59.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amname","type":"name","description":"Name of the access method","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amhandler","type":"regproc","description":"OID of a handler function that is responsible for supplying information about the access method","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amtype","type":"\"char\"","description":"Currently always i to indicate an index access method; other values may be allowed in future","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-am.html","source_path":"sources/postgresql/9.6/catalog-pg-am.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_am.h","definition_source_path":"sources/postgresql/9.6/source/pg_am.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_am stores information about relation access methods. There is one row for each access method supported by the system. Currently, only indexes have access methods. The requirements for index access methods are discussed in detail in Chapter 60.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amname","type":"name","description":"Name of the access method","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amhandler","type":"regproc","description":"OID of a handler function that is responsible for supplying information about the access method","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amtype","type":"\"char\"","description":"Currently always i to indicate an index access method; other values may be allowed in future","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-am.html","source_path":"sources/postgresql/10/catalog-pg-am.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_am.h","definition_source_path":"sources/postgresql/10/source/pg_am.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_am stores information about relation access methods. There is one row for each access method supported by the system. Currently, only indexes have access methods. The requirements for index access methods are discussed in detail in Chapter 61.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amname","type":"name","description":"Name of the access method","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amhandler","type":"regproc","description":"OID of a handler function that is responsible for supplying information about the access method","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amtype","type":"\"char\"","description":"Currently always i to indicate an index access method; other values may be allowed in future","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-am.html","source_path":"sources/postgresql/11/catalog-pg-am.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_am.h","definition_source_path":"sources/postgresql/11/source/pg_am.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_am stores information about relation access methods. There is one row for each access method supported by the system. Currently, only tables and indexes have access methods. The requirements for table and index access methods are discussed in detail in Chapter 60 and Chapter 61 respectively.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amname","type":"name","description":"Name of the access method","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amhandler","type":"regproc","description":"OID of a handler function that is responsible for supplying information about the access method","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amtype","type":"\"char\"","description":"t = table (including materialized views), i = index.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-am.html","source_path":"sources/postgresql/12/catalog-pg-am.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_am.h","definition_source_path":"sources/postgresql/12/source/pg_am.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_am stores information about relation access methods. There is one row for each access method supported by the system. Currently, only tables and indexes have access methods. The requirements for table and index access methods are discussed in detail in Chapter 60 and Chapter 61 respectively.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amname","type":"name","description":"Name of the access method","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amhandler","type":"regproc","description":"OID of a handler function that is responsible for supplying information about the access method","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amtype","type":"\"char\"","description":"t = table (including materialized views), i = index.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-am.html","source_path":"sources/postgresql/13/catalog-pg-am.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_am.h","definition_source_path":"sources/postgresql/13/source/pg_am.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_am stores information about relation access methods. There is one row for each access method supported by the system. Currently, only tables and indexes have access methods. The requirements for table and index access methods are discussed in detail in Chapter 61 and Chapter 62 respectively.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amname","type":"name","description":"Name of the access method","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amhandler","type":"regproc","description":"OID of a handler function that is responsible for supplying information about the access method","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amtype","type":"\"char\"","description":"t = table (including materialized views), i = index.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-am.html","source_path":"sources/postgresql/14/catalog-pg-am.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_am.h","definition_source_path":"sources/postgresql/14/source/pg_am.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_am stores information about relation access methods. There is one row for each access method supported by the system. Currently, only tables and indexes have access methods. The requirements for table and index access methods are discussed in detail in Chapter 63 and Chapter 64 respectively.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amname","type":"name","description":"Name of the access method","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amhandler","type":"regproc","description":"OID of a handler function that is responsible for supplying information about the access method","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amtype","type":"\"char\"","description":"t = table (including materialized views), i = index.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-am.html","source_path":"sources/postgresql/15/catalog-pg-am.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_am.h","definition_source_path":"sources/postgresql/15/source/pg_am.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_am stores information about relation access methods. There is one row for each access method supported by the system. Currently, only tables and indexes have access methods. The requirements for table and index access methods are discussed in detail in Chapter 63 and Chapter 64 respectively.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amname","type":"name","description":"Name of the access method","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amhandler","type":"regproc","description":"OID of a handler function that is responsible for supplying information about the access method","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amtype","type":"\"char\"","description":"t = table (including materialized views), i = index.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-am.html","source_path":"sources/postgresql/16/catalog-pg-am.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_am.h","definition_source_path":"sources/postgresql/16/source/pg_am.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_am stores information about relation access methods. There is one row for each access method supported by the system. Currently, only tables and indexes have access methods. The requirements for table and index access methods are discussed in detail in Chapter 61 and Chapter 62 respectively.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amname","type":"name","description":"Name of the access method","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amhandler","type":"regproc","description":"OID of a handler function that is responsible for supplying information about the access method","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amtype","type":"\"char\"","description":"t = table (including materialized views), i = index.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-am.html","source_path":"sources/postgresql/17/catalog-pg-am.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_am.h","definition_source_path":"sources/postgresql/17/source/pg_am.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_am stores information about relation access methods. There is one row for each access method supported by the system. Currently, only tables and indexes have access methods. The requirements for table and index access methods are discussed in detail in Chapter 62 and Chapter 63 respectively.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amname","type":"name","description":"Name of the access method","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amhandler","type":"regproc","description":"OID of a handler function that is responsible for supplying information about the access method","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amtype","type":"\"char\"","description":"t = table (including materialized views), i = index.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-am.html","source_path":"sources/postgresql/18/catalog-pg-am.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_am.h","definition_source_path":"sources/postgresql/18/source/pg_am.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_am stores information about relation access methods. There is one row for each access method supported by the system. Currently, only tables and indexes have access methods. The requirements for table and index access methods are discussed in detail in Chapter 62 and Chapter 63 respectively.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amname","type":"name","description":"Name of the access method","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amhandler","type":"regproc","description":"OID of a handler function that is responsible for supplying information about the access method","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amtype","type":"\"char\"","description":"t = table (including materialized views), i = index.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-am.html","source_path":"sources/postgresql/19/catalog-pg-am.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_am.h","definition_source_path":"sources/postgresql/19/source/pg_am.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[{"name":"amcanorderbyop","type":"boolean","description":"Does the access method support ordered scans sorted by the result of an operator on the indexed column?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ampredlocks","type":"boolean","description":"Does an index of this type manage fine-grained predicate locks?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambuildempty","type":"regproc","description":"\"Build empty index\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[{"name":"amindexnulls","type":"boolean","description":"Does the access method support null index entries?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"type_changes":[],"description_changes":[{"name":"ambeginscan","from":"\"Start new scan\" function","to":"\"Prepare for index scan\" function"},{"name":"amcanorder","from":"Does the access method support ordered scans?","to":"Does the access method support ordered scans sorted by the indexed column's value?"},{"name":"amendscan","from":"\"End this scan\" function","to":"\"Clean up after index scan\" function"},{"name":"amrescan","from":"\"Restart this scan\" function","to":"\"(Re)start index scan\" function"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[{"name":"amsearcharray","type":"boolean","description":"Does the access method support ScalarArrayOpExpr searches?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanreturn","type":"regproc","description":"Function to check whether index supports index-only scans, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.3","to":"9.4","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"amcanreturn","from":"Function to check whether index supports index-only scans, or zero if none","to":"Function to check whether an index column supports index-only scans. Can be zero if index-only scans are never supported."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[{"name":"amhandler","type":"regproc","description":"OID of a handler function that is responsible for supplying information about the access method","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amtype","type":"\"char\"","description":"Currently always i to indicate an index access method; other values may be allowed in future","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[{"name":"amstrategies","type":"smallint","description":"Number of operator strategies for this access method, or zero if access method does not have a fixed set of operator strategies","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amsupport","type":"smallint","description":"Number of support routines for this access method","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanorder","type":"boolean","description":"Does the access method support ordered scans sorted by the indexed column's value?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanorderbyop","type":"boolean","description":"Does the access method support ordered scans sorted by the result of an operator on the indexed column?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanbackward","type":"boolean","description":"Does the access method support backward scanning?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanunique","type":"boolean","description":"Does the access method support unique indexes?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanmulticol","type":"boolean","description":"Does the access method support multicolumn indexes?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoptionalkey","type":"boolean","description":"Does the access method support a scan without any constraint for the first index column?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amsearcharray","type":"boolean","description":"Does the access method support ScalarArrayOpExpr searches?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amsearchnulls","type":"boolean","description":"Does the access method support IS NULL/NOT NULL searches?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amstorage","type":"boolean","description":"Can index storage data type differ from column data type?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amclusterable","type":"boolean","description":"Can an index of this type be clustered on?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ampredlocks","type":"boolean","description":"Does an index of this type manage fine-grained predicate locks?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amkeytype","type":"oid","description":"Type of data stored in index, or zero if not a fixed type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"aminsert","type":"regproc","description":"\"Insert this tuple\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambeginscan","type":"regproc","description":"\"Prepare for index scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amgettuple","type":"regproc","description":"\"Next valid tuple\" function, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amgetbitmap","type":"regproc","description":"\"Fetch all valid tuples\" function, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amrescan","type":"regproc","description":"\"(Re)start index scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amendscan","type":"regproc","description":"\"Clean up after index scan\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ammarkpos","type":"regproc","description":"\"Mark current scan position\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amrestrpos","type":"regproc","description":"\"Restore marked scan position\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambuild","type":"regproc","description":"\"Build new index\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambuildempty","type":"regproc","description":"\"Build empty index\" function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ambulkdelete","type":"regproc","description":"Bulk-delete function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amvacuumcleanup","type":"regproc","description":"Post-VACUUM cleanup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcanreturn","type":"regproc","description":"Function to check whether an index column supports index-only scans. Can be zero if index-only scans are never supported.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amcostestimate","type":"regproc","description":"Function to estimate cost of an index scan","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoptions","type":"regproc","description":"Function to parse and validate reloptions for an index","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"10","to":"11","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"amtype","from":"Currently always i to indicate an index access method; other values may be allowed in future","to":"t = table (including materialized views), i = index."},{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"17","to":"18","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_amop","kind":"catalog","summary":"access method operators","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_amop stores information about operators associated with access method operator families. There is one row for each operator that is a member of an operator family. An operator can appear in more than one family, but cannot appear in more than one position within a family.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_amop.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoplefttype","type":"oid","description":"Left-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoprighttype","type":"oid","description":"Right-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopstrategy","type":"smallint","description":"Operator strategy number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopopr","type":"oid","description":"OID of the operator","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-amop.html","source_path":"sources/postgresql/9.0/catalog-pg-amop.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_amop.h","definition_source_path":"sources/postgresql/9.0/source/pg_amop.h","source_column_count":7,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_amop stores information about operators associated with access method operator families. There is one row for each operator that is a member of an operator family. A family member can be either a search operator or an ordering operator. An operator can appear in more than one family, but cannot appear in more than one search position nor more than one ordering position within a family. (It is allowed, though unlikely, for an operator to be used for both search and ordering purposes.)","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_amop.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoplefttype","type":"oid","description":"Left-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoprighttype","type":"oid","description":"Right-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopstrategy","type":"smallint","description":"Operator strategy number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoppurpose","type":"\"char\"","description":"Operator purpose, either s for search or o for ordering","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopopr","type":"oid","description":"OID of the operator","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopsortfamily","type":"oid","description":"The btree operator family this entry sorts according to, if an ordering operator; zero if a search operator","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-amop.html","source_path":"sources/postgresql/9.1/catalog-pg-amop.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_amop.h","definition_source_path":"sources/postgresql/9.1/source/pg_amop.h","source_column_count":9,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_amop stores information about operators associated with access method operator families. There is one row for each operator that is a member of an operator family. A family member can be either a search operator or an ordering operator. An operator can appear in more than one family, but cannot appear in more than one search position nor more than one ordering position within a family. (It is allowed, though unlikely, for an operator to be used for both search and ordering purposes.)","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_amop.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoplefttype","type":"oid","description":"Left-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoprighttype","type":"oid","description":"Right-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopstrategy","type":"smallint","description":"Operator strategy number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoppurpose","type":"\"char\"","description":"Operator purpose, either s for search or o for ordering","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopopr","type":"oid","description":"OID of the operator","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopsortfamily","type":"oid","description":"The btree operator family this entry sorts according to, if an ordering operator; zero if a search operator","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-amop.html","source_path":"sources/postgresql/9.2/catalog-pg-amop.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_amop.h","definition_source_path":"sources/postgresql/9.2/source/pg_amop.h","source_column_count":9,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_amop stores information about operators associated with access method operator families. There is one row for each operator that is a member of an operator family. A family member can be either a search operator or an ordering operator. An operator can appear in more than one family, but cannot appear in more than one search position nor more than one ordering position within a family. (It is allowed, though unlikely, for an operator to be used for both search and ordering purposes.)","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoplefttype","type":"oid","description":"Left-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoprighttype","type":"oid","description":"Right-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopstrategy","type":"smallint","description":"Operator strategy number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoppurpose","type":"\"char\"","description":"Operator purpose, either s for search or o for ordering","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopopr","type":"oid","description":"OID of the operator","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopsortfamily","type":"oid","description":"The btree operator family this entry sorts according to, if an ordering operator; zero if a search operator","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-amop.html","source_path":"sources/postgresql/9.3/catalog-pg-amop.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_amop.h","definition_source_path":"sources/postgresql/9.3/source/pg_amop.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_amop stores information about operators associated with access method operator families. There is one row for each operator that is a member of an operator family. A family member can be either a search operator or an ordering operator. An operator can appear in more than one family, but cannot appear in more than one search position nor more than one ordering position within a family. (It is allowed, though unlikely, for an operator to be used for both search and ordering purposes.)","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoplefttype","type":"oid","description":"Left-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoprighttype","type":"oid","description":"Right-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopstrategy","type":"smallint","description":"Operator strategy number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoppurpose","type":"\"char\"","description":"Operator purpose, either s for search or o for ordering","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopopr","type":"oid","description":"OID of the operator","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopsortfamily","type":"oid","description":"The B-tree operator family this entry sorts according to, if an ordering operator; zero if a search operator","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-amop.html","source_path":"sources/postgresql/9.4/catalog-pg-amop.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_amop.h","definition_source_path":"sources/postgresql/9.4/source/pg_amop.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_amop stores information about operators associated with access method operator families. There is one row for each operator that is a member of an operator family. A family member can be either a search operator or an ordering operator. An operator can appear in more than one family, but cannot appear in more than one search position nor more than one ordering position within a family. (It is allowed, though unlikely, for an operator to be used for both search and ordering purposes.)","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoplefttype","type":"oid","description":"Left-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoprighttype","type":"oid","description":"Right-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopstrategy","type":"smallint","description":"Operator strategy number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoppurpose","type":"\"char\"","description":"Operator purpose, either s for search or o for ordering","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopopr","type":"oid","description":"OID of the operator","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopsortfamily","type":"oid","description":"The B-tree operator family this entry sorts according to, if an ordering operator; zero if a search operator","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-amop.html","source_path":"sources/postgresql/9.5/catalog-pg-amop.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_amop.h","definition_source_path":"sources/postgresql/9.5/source/pg_amop.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_amop stores information about operators associated with access method operator families. There is one row for each operator that is a member of an operator family. A family member can be either a search operator or an ordering operator. An operator can appear in more than one family, but cannot appear in more than one search position nor more than one ordering position within a family. (It is allowed, though unlikely, for an operator to be used for both search and ordering purposes.)","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoplefttype","type":"oid","description":"Left-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoprighttype","type":"oid","description":"Right-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopstrategy","type":"smallint","description":"Operator strategy number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoppurpose","type":"\"char\"","description":"Operator purpose, either s for search or o for ordering","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopopr","type":"oid","description":"OID of the operator","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopsortfamily","type":"oid","description":"The B-tree operator family this entry sorts according to, if an ordering operator; zero if a search operator","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-amop.html","source_path":"sources/postgresql/9.6/catalog-pg-amop.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_amop.h","definition_source_path":"sources/postgresql/9.6/source/pg_amop.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_amop stores information about operators associated with access method operator families. There is one row for each operator that is a member of an operator family. A family member can be either a search operator or an ordering operator. An operator can appear in more than one family, but cannot appear in more than one search position nor more than one ordering position within a family. (It is allowed, though unlikely, for an operator to be used for both search and ordering purposes.)","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoplefttype","type":"oid","description":"Left-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoprighttype","type":"oid","description":"Right-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopstrategy","type":"smallint","description":"Operator strategy number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoppurpose","type":"\"char\"","description":"Operator purpose, either s for search or o for ordering","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopopr","type":"oid","description":"OID of the operator","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopsortfamily","type":"oid","description":"The B-tree operator family this entry sorts according to, if an ordering operator; zero if a search operator","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-amop.html","source_path":"sources/postgresql/10/catalog-pg-amop.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_amop.h","definition_source_path":"sources/postgresql/10/source/pg_amop.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_amop stores information about operators associated with access method operator families. There is one row for each operator that is a member of an operator family. A family member can be either a search operator or an ordering operator. An operator can appear in more than one family, but cannot appear in more than one search position nor more than one ordering position within a family. (It is allowed, though unlikely, for an operator to be used for both search and ordering purposes.)","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoplefttype","type":"oid","description":"Left-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoprighttype","type":"oid","description":"Right-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopstrategy","type":"smallint","description":"Operator strategy number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoppurpose","type":"\"char\"","description":"Operator purpose, either s for search or o for ordering","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopopr","type":"oid","description":"OID of the operator","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopsortfamily","type":"oid","description":"The B-tree operator family this entry sorts according to, if an ordering operator; zero if a search operator","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-amop.html","source_path":"sources/postgresql/11/catalog-pg-amop.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_amop.h","definition_source_path":"sources/postgresql/11/source/pg_amop.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_amop stores information about operators associated with access method operator families. There is one row for each operator that is a member of an operator family. A family member can be either a search operator or an ordering operator. An operator can appear in more than one family, but cannot appear in more than one search position nor more than one ordering position within a family. (It is allowed, though unlikely, for an operator to be used for both search and ordering purposes.)","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoplefttype","type":"oid","description":"Left-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoprighttype","type":"oid","description":"Right-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopstrategy","type":"smallint","description":"Operator strategy number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoppurpose","type":"\"char\"","description":"Operator purpose, either s for search or o for ordering","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopopr","type":"oid","description":"OID of the operator","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopsortfamily","type":"oid","description":"The B-tree operator family this entry sorts according to, if an ordering operator; zero if a search operator","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-amop.html","source_path":"sources/postgresql/12/catalog-pg-amop.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_amop.h","definition_source_path":"sources/postgresql/12/source/pg_amop.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_amop stores information about operators associated with access method operator families. There is one row for each operator that is a member of an operator family. A family member can be either a search operator or an ordering operator. An operator can appear in more than one family, but cannot appear in more than one search position nor more than one ordering position within a family. (It is allowed, though unlikely, for an operator to be used for both search and ordering purposes.)","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoplefttype","type":"oid","description":"Left-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoprighttype","type":"oid","description":"Right-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopstrategy","type":"smallint","description":"Operator strategy number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoppurpose","type":"\"char\"","description":"Operator purpose, either s for search or o for ordering","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopopr","type":"oid","description":"OID of the operator","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopsortfamily","type":"oid","description":"The B-tree operator family this entry sorts according to, if an ordering operator; zero if a search operator","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-amop.html","source_path":"sources/postgresql/13/catalog-pg-amop.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_amop.h","definition_source_path":"sources/postgresql/13/source/pg_amop.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_amop stores information about operators associated with access method operator families. There is one row for each operator that is a member of an operator family. A family member can be either a search operator or an ordering operator. An operator can appear in more than one family, but cannot appear in more than one search position nor more than one ordering position within a family. (It is allowed, though unlikely, for an operator to be used for both search and ordering purposes.)","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoplefttype","type":"oid","description":"Left-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoprighttype","type":"oid","description":"Right-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopstrategy","type":"smallint","description":"Operator strategy number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoppurpose","type":"\"char\"","description":"Operator purpose, either s for search or o for ordering","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopopr","type":"oid","description":"OID of the operator","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopsortfamily","type":"oid","description":"The B-tree operator family this entry sorts according to, if an ordering operator; zero if a search operator","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-amop.html","source_path":"sources/postgresql/14/catalog-pg-amop.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_amop.h","definition_source_path":"sources/postgresql/14/source/pg_amop.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_amop stores information about operators associated with access method operator families. There is one row for each operator that is a member of an operator family. A family member can be either a search operator or an ordering operator. An operator can appear in more than one family, but cannot appear in more than one search position nor more than one ordering position within a family. (It is allowed, though unlikely, for an operator to be used for both search and ordering purposes.)","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoplefttype","type":"oid","description":"Left-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoprighttype","type":"oid","description":"Right-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopstrategy","type":"smallint","description":"Operator strategy number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoppurpose","type":"\"char\"","description":"Operator purpose, either s for search or o for ordering","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopopr","type":"oid","description":"OID of the operator","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopsortfamily","type":"oid","description":"The B-tree operator family this entry sorts according to, if an ordering operator; zero if a search operator","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-amop.html","source_path":"sources/postgresql/15/catalog-pg-amop.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_amop.h","definition_source_path":"sources/postgresql/15/source/pg_amop.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_amop stores information about operators associated with access method operator families. There is one row for each operator that is a member of an operator family. A family member can be either a search operator or an ordering operator. An operator can appear in more than one family, but cannot appear in more than one search position nor more than one ordering position within a family. (It is allowed, though unlikely, for an operator to be used for both search and ordering purposes.)","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoplefttype","type":"oid","description":"Left-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoprighttype","type":"oid","description":"Right-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopstrategy","type":"smallint","description":"Operator strategy number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoppurpose","type":"\"char\"","description":"Operator purpose, either s for search or o for ordering","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopopr","type":"oid","description":"OID of the operator","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopsortfamily","type":"oid","description":"The B-tree operator family this entry sorts according to, if an ordering operator; zero if a search operator","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-amop.html","source_path":"sources/postgresql/16/catalog-pg-amop.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_amop.h","definition_source_path":"sources/postgresql/16/source/pg_amop.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_amop stores information about operators associated with access method operator families. There is one row for each operator that is a member of an operator family. A family member can be either a search operator or an ordering operator. An operator can appear in more than one family, but cannot appear in more than one search position nor more than one ordering position within a family. (It is allowed, though unlikely, for an operator to be used for both search and ordering purposes.)","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoplefttype","type":"oid","description":"Left-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoprighttype","type":"oid","description":"Right-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopstrategy","type":"smallint","description":"Operator strategy number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoppurpose","type":"\"char\"","description":"Operator purpose, either s for search or o for ordering","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopopr","type":"oid","description":"OID of the operator","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopsortfamily","type":"oid","description":"The B-tree operator family this entry sorts according to, if an ordering operator; zero if a search operator","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-amop.html","source_path":"sources/postgresql/17/catalog-pg-amop.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_amop.h","definition_source_path":"sources/postgresql/17/source/pg_amop.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_amop stores information about operators associated with access method operator families. There is one row for each operator that is a member of an operator family. A family member can be either a search operator or an ordering operator. An operator can appear in more than one family, but cannot appear in more than one search position nor more than one ordering position within a family. (It is allowed, though unlikely, for an operator to be used for both search and ordering purposes.)","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoplefttype","type":"oid","description":"Left-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoprighttype","type":"oid","description":"Right-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopstrategy","type":"smallint","description":"Operator strategy number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoppurpose","type":"\"char\"","description":"Operator purpose, either s for search or o for ordering","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopopr","type":"oid","description":"OID of the operator","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopsortfamily","type":"oid","description":"The B-tree operator family this entry sorts according to, if an ordering operator; zero if a search operator","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-amop.html","source_path":"sources/postgresql/18/catalog-pg-amop.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_amop.h","definition_source_path":"sources/postgresql/18/source/pg_amop.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_amop stores information about operators associated with access method operator families. There is one row for each operator that is a member of an operator family. A family member can be either a search operator or an ordering operator. An operator can appear in more than one family, but cannot appear in more than one search position nor more than one ordering position within a family. (It is allowed, though unlikely, for an operator to be used for both search and ordering purposes.)","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoplefttype","type":"oid","description":"Left-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoprighttype","type":"oid","description":"Right-hand input data type of operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopstrategy","type":"smallint","description":"Operator strategy number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amoppurpose","type":"\"char\"","description":"Operator purpose, either s for search or o for ordering","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopopr","type":"oid","description":"OID of the operator","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopsortfamily","type":"oid","description":"The B-tree operator family this entry sorts according to, if an ordering operator; zero if a search operator","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-amop.html","source_path":"sources/postgresql/19/catalog-pg-amop.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_amop.h","definition_source_path":"sources/postgresql/19/source/pg_amop.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[{"name":"amoppurpose","type":"\"char\"","description":"Operator purpose, either s for search or o for ordering","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amopsortfamily","type":"oid","description":"The btree operator family this entry sorts according to, if an ordering operator; zero if a search operator","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.3","to":"9.4","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"amopsortfamily","from":"The btree operator family this entry sorts according to, if an ordering operator; zero if a search operator","to":"The B-tree operator family this entry sorts according to, if an ordering operator; zero if a search operator"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_amproc","kind":"catalog","summary":"access method support functions","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_amproc stores information about support procedures associated with access method operator families. There is one row for each support procedure belonging to an operator family.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_amproc.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproclefttype","type":"oid","description":"Left-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocrighttype","type":"oid","description":"Right-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocnum","type":"smallint","description":"Support procedure number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproc","type":"regproc","description":"OID of the procedure","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-amproc.html","source_path":"sources/postgresql/9.0/catalog-pg-amproc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_amproc.h","definition_source_path":"sources/postgresql/9.0/source/pg_amproc.h","source_column_count":6,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_amproc stores information about support procedures associated with access method operator families. There is one row for each support procedure belonging to an operator family.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_amproc.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproclefttype","type":"oid","description":"Left-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocrighttype","type":"oid","description":"Right-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocnum","type":"smallint","description":"Support procedure number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproc","type":"regproc","description":"OID of the procedure","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-amproc.html","source_path":"sources/postgresql/9.1/catalog-pg-amproc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_amproc.h","definition_source_path":"sources/postgresql/9.1/source/pg_amproc.h","source_column_count":6,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_amproc stores information about support procedures associated with access method operator families. There is one row for each support procedure belonging to an operator family.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_amproc.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproclefttype","type":"oid","description":"Left-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocrighttype","type":"oid","description":"Right-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocnum","type":"smallint","description":"Support procedure number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproc","type":"regproc","description":"OID of the procedure","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-amproc.html","source_path":"sources/postgresql/9.2/catalog-pg-amproc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_amproc.h","definition_source_path":"sources/postgresql/9.2/source/pg_amproc.h","source_column_count":6,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_amproc stores information about support procedures associated with access method operator families. There is one row for each support procedure belonging to an operator family.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproclefttype","type":"oid","description":"Left-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocrighttype","type":"oid","description":"Right-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocnum","type":"smallint","description":"Support procedure number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproc","type":"regproc","description":"OID of the procedure","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-amproc.html","source_path":"sources/postgresql/9.3/catalog-pg-amproc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_amproc.h","definition_source_path":"sources/postgresql/9.3/source/pg_amproc.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_amproc stores information about support procedures associated with access method operator families. There is one row for each support procedure belonging to an operator family.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproclefttype","type":"oid","description":"Left-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocrighttype","type":"oid","description":"Right-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocnum","type":"smallint","description":"Support procedure number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproc","type":"regproc","description":"OID of the procedure","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-amproc.html","source_path":"sources/postgresql/9.4/catalog-pg-amproc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_amproc.h","definition_source_path":"sources/postgresql/9.4/source/pg_amproc.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_amproc stores information about support procedures associated with access method operator families. There is one row for each support procedure belonging to an operator family.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproclefttype","type":"oid","description":"Left-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocrighttype","type":"oid","description":"Right-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocnum","type":"smallint","description":"Support procedure number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproc","type":"regproc","description":"OID of the procedure","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-amproc.html","source_path":"sources/postgresql/9.5/catalog-pg-amproc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_amproc.h","definition_source_path":"sources/postgresql/9.5/source/pg_amproc.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_amproc stores information about support procedures associated with access method operator families. There is one row for each support procedure belonging to an operator family.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproclefttype","type":"oid","description":"Left-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocrighttype","type":"oid","description":"Right-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocnum","type":"smallint","description":"Support procedure number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproc","type":"regproc","description":"OID of the procedure","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-amproc.html","source_path":"sources/postgresql/9.6/catalog-pg-amproc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_amproc.h","definition_source_path":"sources/postgresql/9.6/source/pg_amproc.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_amproc stores information about support procedures associated with access method operator families. There is one row for each support procedure belonging to an operator family.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproclefttype","type":"oid","description":"Left-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocrighttype","type":"oid","description":"Right-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocnum","type":"smallint","description":"Support procedure number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproc","type":"regproc","description":"OID of the procedure","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-amproc.html","source_path":"sources/postgresql/10/catalog-pg-amproc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_amproc.h","definition_source_path":"sources/postgresql/10/source/pg_amproc.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_amproc stores information about support functions associated with access method operator families. There is one row for each support function belonging to an operator family.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproclefttype","type":"oid","description":"Left-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocrighttype","type":"oid","description":"Right-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocnum","type":"smallint","description":"Support function number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproc","type":"regproc","description":"OID of the function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-amproc.html","source_path":"sources/postgresql/11/catalog-pg-amproc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_amproc.h","definition_source_path":"sources/postgresql/11/source/pg_amproc.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_amproc stores information about support functions associated with access method operator families. There is one row for each support function belonging to an operator family.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproclefttype","type":"oid","description":"Left-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocrighttype","type":"oid","description":"Right-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocnum","type":"smallint","description":"Support function number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproc","type":"regproc","description":"OID of the function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-amproc.html","source_path":"sources/postgresql/12/catalog-pg-amproc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_amproc.h","definition_source_path":"sources/postgresql/12/source/pg_amproc.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_amproc stores information about support functions associated with access method operator families. There is one row for each support function belonging to an operator family.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproclefttype","type":"oid","description":"Left-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocrighttype","type":"oid","description":"Right-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocnum","type":"smallint","description":"Support function number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproc","type":"regproc","description":"OID of the function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-amproc.html","source_path":"sources/postgresql/13/catalog-pg-amproc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_amproc.h","definition_source_path":"sources/postgresql/13/source/pg_amproc.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_amproc stores information about support functions associated with access method operator families. There is one row for each support function belonging to an operator family.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproclefttype","type":"oid","description":"Left-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocrighttype","type":"oid","description":"Right-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocnum","type":"smallint","description":"Support function number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproc","type":"regproc","description":"OID of the function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-amproc.html","source_path":"sources/postgresql/14/catalog-pg-amproc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_amproc.h","definition_source_path":"sources/postgresql/14/source/pg_amproc.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_amproc stores information about support functions associated with access method operator families. There is one row for each support function belonging to an operator family.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproclefttype","type":"oid","description":"Left-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocrighttype","type":"oid","description":"Right-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocnum","type":"smallint","description":"Support function number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproc","type":"regproc","description":"OID of the function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-amproc.html","source_path":"sources/postgresql/15/catalog-pg-amproc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_amproc.h","definition_source_path":"sources/postgresql/15/source/pg_amproc.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_amproc stores information about support functions associated with access method operator families. There is one row for each support function belonging to an operator family.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproclefttype","type":"oid","description":"Left-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocrighttype","type":"oid","description":"Right-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocnum","type":"smallint","description":"Support function number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproc","type":"regproc","description":"OID of the function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-amproc.html","source_path":"sources/postgresql/16/catalog-pg-amproc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_amproc.h","definition_source_path":"sources/postgresql/16/source/pg_amproc.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_amproc stores information about support functions associated with access method operator families. There is one row for each support function belonging to an operator family.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproclefttype","type":"oid","description":"Left-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocrighttype","type":"oid","description":"Right-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocnum","type":"smallint","description":"Support function number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproc","type":"regproc","description":"OID of the function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-amproc.html","source_path":"sources/postgresql/17/catalog-pg-amproc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_amproc.h","definition_source_path":"sources/postgresql/17/source/pg_amproc.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_amproc stores information about support functions associated with access method operator families. There is one row for each support function belonging to an operator family.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproclefttype","type":"oid","description":"Left-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocrighttype","type":"oid","description":"Right-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocnum","type":"smallint","description":"Support function number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproc","type":"regproc","description":"OID of the function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-amproc.html","source_path":"sources/postgresql/18/catalog-pg-amproc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_amproc.h","definition_source_path":"sources/postgresql/18/source/pg_amproc.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_amproc stores information about support functions associated with access method operator families. There is one row for each support function belonging to an operator family.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocfamily","type":"oid","description":"The operator family this entry is for","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproclefttype","type":"oid","description":"Left-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocrighttype","type":"oid","description":"Right-hand input data type of associated operator","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amprocnum","type":"smallint","description":"Support function number","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"amproc","type":"regproc","description":"OID of the function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-amproc.html","source_path":"sources/postgresql/19/catalog-pg-amproc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_amproc.h","definition_source_path":"sources/postgresql/19/source/pg_amproc.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"10","to":"11","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"amproc","from":"OID of the procedure","to":"OID of the function"},{"name":"amprocnum","from":"Support procedure number","to":"Support function number"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_attrdef","kind":"catalog","summary":"column default values","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_attrdef stores column default values. The main information about columns is stored in pg_attribute (see below). Only columns that explicitly specify a default value (when the table is created or the column is added) will have an entry here.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_attrdef.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adnum","type":"smallint","description":"The number of the column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adbin","type":"text","description":"The internal representation of the column default value","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"adsrc","type":"text","description":"A human-readable representation of the default value","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-attrdef.html","source_path":"sources/postgresql/9.0/catalog-pg-attrdef.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_attrdef.h","definition_source_path":"sources/postgresql/9.0/source/pg_attrdef.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2604,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_attrdef stores column default values. The main information about columns is stored in pg_attribute (see below). Only columns that explicitly specify a default value (when the table is created or the column is added) will have an entry here.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_attrdef.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adnum","type":"smallint","description":"The number of the column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adbin","type":"pg_node_tree","description":"The internal representation of the column default value","hidden":false,"type_oid":194,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"adsrc","type":"text","description":"A human-readable representation of the default value","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-attrdef.html","source_path":"sources/postgresql/9.1/catalog-pg-attrdef.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_attrdef.h","definition_source_path":"sources/postgresql/9.1/source/pg_attrdef.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2604,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_attrdef stores column default values. The main information about columns is stored in pg_attribute (see below). Only columns that explicitly specify a default value (when the table is created or the column is added) will have an entry here.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_attrdef.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adnum","type":"smallint","description":"The number of the column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adbin","type":"pg_node_tree","description":"The internal representation of the column default value","hidden":false,"type_oid":194,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"adsrc","type":"text","description":"A human-readable representation of the default value","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-attrdef.html","source_path":"sources/postgresql/9.2/catalog-pg-attrdef.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_attrdef.h","definition_source_path":"sources/postgresql/9.2/source/pg_attrdef.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2604,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_attrdef stores column default values. The main information about columns is stored in pg_attribute (see below). Only columns that explicitly specify a default value (when the table is created or the column is added) will have an entry here.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adnum","type":"smallint","description":"The number of the column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adbin","type":"pg_node_tree","description":"The internal representation of the column default value","hidden":false,"type_oid":194,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"adsrc","type":"text","description":"A human-readable representation of the default value","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-attrdef.html","source_path":"sources/postgresql/9.3/catalog-pg-attrdef.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_attrdef.h","definition_source_path":"sources/postgresql/9.3/source/pg_attrdef.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":2604,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_attrdef stores column default values. The main information about columns is stored in pg_attribute (see below). Only columns that explicitly specify a default value (when the table is created or the column is added) will have an entry here.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adnum","type":"smallint","description":"The number of the column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adbin","type":"pg_node_tree","description":"The internal representation of the column default value","hidden":false,"type_oid":194,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"adsrc","type":"text","description":"A human-readable representation of the default value","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-attrdef.html","source_path":"sources/postgresql/9.4/catalog-pg-attrdef.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_attrdef.h","definition_source_path":"sources/postgresql/9.4/source/pg_attrdef.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":2604,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_attrdef stores column default values. The main information about columns is stored in pg_attribute (see below). Only columns that explicitly specify a default value (when the table is created or the column is added) will have an entry here.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adnum","type":"smallint","description":"The number of the column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adbin","type":"pg_node_tree","description":"The internal representation of the column default value","hidden":false,"type_oid":194,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"adsrc","type":"text","description":"A human-readable representation of the default value","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-attrdef.html","source_path":"sources/postgresql/9.5/catalog-pg-attrdef.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_attrdef.h","definition_source_path":"sources/postgresql/9.5/source/pg_attrdef.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":2604,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_attrdef stores column default values. The main information about columns is stored in pg_attribute (see below). Only columns that explicitly specify a default value (when the table is created or the column is added) will have an entry here.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adnum","type":"smallint","description":"The number of the column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adbin","type":"pg_node_tree","description":"The internal representation of the column default value","hidden":false,"type_oid":194,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"adsrc","type":"text","description":"A human-readable representation of the default value","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-attrdef.html","source_path":"sources/postgresql/9.6/catalog-pg-attrdef.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_attrdef.h","definition_source_path":"sources/postgresql/9.6/source/pg_attrdef.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":2604,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_attrdef stores column default values. The main information about columns is stored in pg_attribute (see below). Only columns that explicitly specify a default value (when the table is created or the column is added) will have an entry here.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adnum","type":"smallint","description":"The number of the column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adbin","type":"pg_node_tree","description":"The internal representation of the column default value","hidden":false,"type_oid":194,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"adsrc","type":"text","description":"A human-readable representation of the default value","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-attrdef.html","source_path":"sources/postgresql/10/catalog-pg-attrdef.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_attrdef.h","definition_source_path":"sources/postgresql/10/source/pg_attrdef.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":2604,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_attrdef stores column default values. The main information about columns is stored in pg_attribute (see below). Only columns that explicitly specify a default value (when the table is created or the column is added) will have an entry here.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adnum","type":"smallint","description":"The number of the column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adbin","type":"pg_node_tree","description":"The internal representation of the column default value","hidden":false,"type_oid":194,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"adsrc","type":"text","description":"A human-readable representation of the default value","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-attrdef.html","source_path":"sources/postgresql/11/catalog-pg-attrdef.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_attrdef.h","definition_source_path":"sources/postgresql/11/source/pg_attrdef.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":2604,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_attrdef stores column default values. The main information about columns is stored in pg_attribute. Only columns for which a default value has been explicitly set will have an entry here.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adnum","type":"smallint","description":"The number of the column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adbin","type":"pg_node_tree","description":"The column default value, in nodeToString() representation. Use pg_get_expr(adbin, adrelid) to convert it to an SQL expression.","hidden":false,"type_oid":194,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-attrdef.html","source_path":"sources/postgresql/12/catalog-pg-attrdef.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_attrdef.h","definition_source_path":"sources/postgresql/12/source/pg_attrdef.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2604,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_attrdef stores column default values. The main information about columns is stored in pg_attribute. Only columns for which a default value has been explicitly set will have an entry here.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adnum","type":"smallint","description":"The number of the column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adbin","type":"pg_node_tree","description":"The column default value, in nodeToString() representation. Use pg_get_expr(adbin, adrelid) to convert it to an SQL expression.","hidden":false,"type_oid":194,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-attrdef.html","source_path":"sources/postgresql/13/catalog-pg-attrdef.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_attrdef.h","definition_source_path":"sources/postgresql/13/source/pg_attrdef.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2604,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_attrdef stores column default values. The main information about columns is stored in pg_attribute. Only columns for which a default value has been explicitly set will have an entry here.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adnum","type":"smallint","description":"The number of the column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adbin","type":"pg_node_tree","description":"The column default value, in nodeToString() representation. Use pg_get_expr(adbin, adrelid) to convert it to an SQL expression.","hidden":false,"type_oid":194,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-attrdef.html","source_path":"sources/postgresql/14/catalog-pg-attrdef.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_attrdef.h","definition_source_path":"sources/postgresql/14/source/pg_attrdef.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2604,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_attrdef stores column default values. The main information about columns is stored in pg_attribute. Only columns for which a default value has been explicitly set will have an entry here.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adnum","type":"smallint","description":"The number of the column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adbin","type":"pg_node_tree","description":"The column default value, in nodeToString() representation. Use pg_get_expr(adbin, adrelid) to convert it to an SQL expression.","hidden":false,"type_oid":194,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-attrdef.html","source_path":"sources/postgresql/15/catalog-pg-attrdef.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_attrdef.h","definition_source_path":"sources/postgresql/15/source/pg_attrdef.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2604,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_attrdef stores column default values. The main information about columns is stored in pg_attribute. Only columns for which a default value has been explicitly set will have an entry here.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adnum","type":"smallint","description":"The number of the column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adbin","type":"pg_node_tree","description":"The column default value, in nodeToString() representation. Use pg_get_expr(adbin, adrelid) to convert it to an SQL expression.","hidden":false,"type_oid":194,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-attrdef.html","source_path":"sources/postgresql/16/catalog-pg-attrdef.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_attrdef.h","definition_source_path":"sources/postgresql/16/source/pg_attrdef.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2604,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_attrdef stores column default values. The main information about columns is stored in pg_attribute. Only columns for which a default value has been explicitly set will have an entry here.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adnum","type":"smallint","description":"The number of the column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adbin","type":"pg_node_tree","description":"The column default value, in nodeToString() representation. Use pg_get_expr(adbin, adrelid) to convert it to an SQL expression.","hidden":false,"type_oid":194,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-attrdef.html","source_path":"sources/postgresql/17/catalog-pg-attrdef.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_attrdef.h","definition_source_path":"sources/postgresql/17/source/pg_attrdef.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2604,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_attrdef stores column default expressions and generation expressions. The main information about columns is stored in pg_attribute. Only columns for which a default expression or generation expression has been explicitly set will have an entry here.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adnum","type":"smallint","description":"The number of the column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adbin","type":"pg_node_tree","description":"The column default or generation expression, in nodeToString() representation. Use pg_get_expr(adbin, adrelid) to convert it to an SQL expression.","hidden":false,"type_oid":194,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-attrdef.html","source_path":"sources/postgresql/18/catalog-pg-attrdef.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_attrdef.h","definition_source_path":"sources/postgresql/18/source/pg_attrdef.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2604,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_attrdef stores column default expressions and generation expressions. The main information about columns is stored in pg_attribute. Only columns for which a default expression or generation expression has been explicitly set will have an entry here.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adnum","type":"smallint","description":"The number of the column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"adbin","type":"pg_node_tree","description":"The column default or generation expression, in nodeToString() representation. Use pg_get_expr(adbin, adrelid) to convert it to an SQL expression.","hidden":false,"type_oid":194,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-attrdef.html","source_path":"sources/postgresql/19/catalog-pg-attrdef.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_attrdef.h","definition_source_path":"sources/postgresql/19/source/pg_attrdef.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2604,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[{"name":"adbin","from":"text","to":"pg_node_tree"}],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[{"name":"adsrc","type":"text","description":"A human-readable representation of the default value","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[{"name":"adbin","from":"The internal representation of the column default value","to":"The column default value, in nodeToString() representation. Use pg_get_expr(adbin, adrelid) to convert it to an SQL expression."},{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"adbin","attribute":"not_null","from":false,"to":true},{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"17","to":"18","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"adbin","from":"The column default value, in nodeToString() representation. Use pg_get_expr(adbin, adrelid) to convert it to an SQL expression.","to":"The column default or generation expression, in nodeToString() representation. Use pg_get_expr(adbin, adrelid) to convert it to an SQL expression."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_attribute","kind":"catalog","summary":"table columns (“attributes”)","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_attribute stores information about table columns. There will be exactly one pg_attribute row for every column in every table in the database. (There will also be attribute entries for indexes, and indeed all objects that have pg_class entries.)\n\nThe term attribute is equivalent to column and is used for historical reasons.","columns":[{"name":"attrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attname","type":"name","description":"The column name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypid","type":"oid","description":"The data type of this column","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstattarget","type":"integer","description":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of \"most common values\" to collect, and the target number of histogram bins to create.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attlen","type":"smallint","description":"A copy of pg_type.typlen of this column's type","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnum","type":"smallint","description":"The number of the column. Ordinary columns are numbered from 1 up. System columns, such as oid, have (arbitrary) negative numbers.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attndims","type":"integer","description":"Number of dimensions, if the column is an array type; otherwise 0. (Presently, the number of dimensions of an array is not enforced, so any nonzero value effectively means \"it's an array\".)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcacheoff","type":"integer","description":"Always -1 in storage, but when loaded into a row descriptor in memory this might be updated to cache the offset of the attribute within the row","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypmod","type":"integer","description":"atttypmod records type-specific data supplied at table creation time (for example, the maximum length of a varchar column). It is passed to type-specific input functions and length coercion functions. The value will generally be -1 for types that do not need atttypmod.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attbyval","type":"boolean","description":"A copy of pg_type.typbyval of this column's type","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstorage","type":"\"char\"","description":"Normally a copy of pg_type.typstorage of this column's type. For TOAST-able data types, this can be altered after column creation to control storage policy.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attalign","type":"\"char\"","description":"A copy of pg_type.typalign of this column's type","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnotnull","type":"boolean","description":"This represents a not-null constraint. It is possible to change this column to enable or disable the constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasdef","type":"boolean","description":"This column has a default value, in which case there will be a corresponding entry in the pg_attrdef catalog that actually defines the value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attisdropped","type":"boolean","description":"This column has been dropped and is no longer valid. A dropped column is still physically present in the table, but is ignored by the parser and so cannot be accessed via SQL.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attislocal","type":"boolean","description":"This column is defined locally in the relation. Note that a column can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attinhcount","type":"integer","description":"The number of direct ancestors this column has. A column with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attacl","type":"aclitem[]","description":"Column-level access privileges, if any have been granted specifically on this column","hidden":false,"type_oid":1034,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attoptions","type":"text[]","description":"Attribute-level options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-attribute.html","source_path":"sources/postgresql/9.0/catalog-pg-attribute.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_attribute.h","definition_source_path":"sources/postgresql/9.0/source/pg_attribute.h","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":1249,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_attribute stores information about table columns. There will be exactly one pg_attribute row for every column in every table in the database. (There will also be attribute entries for indexes, and indeed all objects that have pg_class entries.)\n\nThe term attribute is equivalent to column and is used for historical reasons.","columns":[{"name":"attrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attname","type":"name","description":"The column name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypid","type":"oid","description":"The data type of this column","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstattarget","type":"integer","description":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of \"most common values\" to collect, and the target number of histogram bins to create.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attlen","type":"smallint","description":"A copy of pg_type.typlen of this column's type","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnum","type":"smallint","description":"The number of the column. Ordinary columns are numbered from 1 up. System columns, such as oid, have (arbitrary) negative numbers.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attndims","type":"integer","description":"Number of dimensions, if the column is an array type; otherwise 0. (Presently, the number of dimensions of an array is not enforced, so any nonzero value effectively means \"it's an array\".)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcacheoff","type":"integer","description":"Always -1 in storage, but when loaded into a row descriptor in memory this might be updated to cache the offset of the attribute within the row","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypmod","type":"integer","description":"atttypmod records type-specific data supplied at table creation time (for example, the maximum length of a varchar column). It is passed to type-specific input functions and length coercion functions. The value will generally be -1 for types that do not need atttypmod.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attbyval","type":"boolean","description":"A copy of pg_type.typbyval of this column's type","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstorage","type":"\"char\"","description":"Normally a copy of pg_type.typstorage of this column's type. For TOAST-able data types, this can be altered after column creation to control storage policy.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attalign","type":"\"char\"","description":"A copy of pg_type.typalign of this column's type","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnotnull","type":"boolean","description":"This represents a not-null constraint. It is possible to change this column to enable or disable the constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasdef","type":"boolean","description":"This column has a default value, in which case there will be a corresponding entry in the pg_attrdef catalog that actually defines the value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attisdropped","type":"boolean","description":"This column has been dropped and is no longer valid. A dropped column is still physically present in the table, but is ignored by the parser and so cannot be accessed via SQL.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attislocal","type":"boolean","description":"This column is defined locally in the relation. Note that a column can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attinhcount","type":"integer","description":"The number of direct ancestors this column has. A column with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcollation","type":"oid","description":"The defined collation of the column, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attacl","type":"aclitem[]","description":"Column-level access privileges, if any have been granted specifically on this column","hidden":false,"type_oid":1034,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attoptions","type":"text[]","description":"Attribute-level options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-attribute.html","source_path":"sources/postgresql/9.1/catalog-pg-attribute.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_attribute.h","definition_source_path":"sources/postgresql/9.1/source/pg_attribute.h","source_column_count":20,"documentary_schema_source":"documentation","relation_oid":1249,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_attribute stores information about table columns. There will be exactly one pg_attribute row for every column in every table in the database. (There will also be attribute entries for indexes, and indeed all objects that have pg_class entries.)\n\nThe term attribute is equivalent to column and is used for historical reasons.","columns":[{"name":"attrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attname","type":"name","description":"The column name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypid","type":"oid","description":"The data type of this column","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstattarget","type":"integer","description":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of \"most common values\" to collect, and the target number of histogram bins to create.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attlen","type":"smallint","description":"A copy of pg_type.typlen of this column's type","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnum","type":"smallint","description":"The number of the column. Ordinary columns are numbered from 1 up. System columns, such as oid, have (arbitrary) negative numbers.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attndims","type":"integer","description":"Number of dimensions, if the column is an array type; otherwise 0. (Presently, the number of dimensions of an array is not enforced, so any nonzero value effectively means \"it's an array\".)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcacheoff","type":"integer","description":"Always -1 in storage, but when loaded into a row descriptor in memory this might be updated to cache the offset of the attribute within the row","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypmod","type":"integer","description":"atttypmod records type-specific data supplied at table creation time (for example, the maximum length of a varchar column). It is passed to type-specific input functions and length coercion functions. The value will generally be -1 for types that do not need atttypmod.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attbyval","type":"boolean","description":"A copy of pg_type.typbyval of this column's type","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstorage","type":"\"char\"","description":"Normally a copy of pg_type.typstorage of this column's type. For TOAST-able data types, this can be altered after column creation to control storage policy.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attalign","type":"\"char\"","description":"A copy of pg_type.typalign of this column's type","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnotnull","type":"boolean","description":"This represents a not-null constraint. It is possible to change this column to enable or disable the constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasdef","type":"boolean","description":"This column has a default value, in which case there will be a corresponding entry in the pg_attrdef catalog that actually defines the value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attisdropped","type":"boolean","description":"This column has been dropped and is no longer valid. A dropped column is still physically present in the table, but is ignored by the parser and so cannot be accessed via SQL.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attislocal","type":"boolean","description":"This column is defined locally in the relation. Note that a column can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attinhcount","type":"integer","description":"The number of direct ancestors this column has. A column with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcollation","type":"oid","description":"The defined collation of the column, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attacl","type":"aclitem[]","description":"Column-level access privileges, if any have been granted specifically on this column","hidden":false,"type_oid":1034,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attoptions","type":"text[]","description":"Attribute-level options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attfdwoptions","type":"text[]","description":"Attribute-level foreign data wrapper options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-attribute.html","source_path":"sources/postgresql/9.2/catalog-pg-attribute.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_attribute.h","definition_source_path":"sources/postgresql/9.2/source/pg_attribute.h","source_column_count":21,"documentary_schema_source":"documentation","relation_oid":1249,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_attribute stores information about table columns. There will be exactly one pg_attribute row for every column in every table in the database. (There will also be attribute entries for indexes, and indeed all objects that have pg_class entries.)\n\nThe term attribute is equivalent to column and is used for historical reasons.","columns":[{"name":"attrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attname","type":"name","description":"The column name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypid","type":"oid","description":"The data type of this column","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstattarget","type":"integer","description":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of \"most common values\" to collect, and the target number of histogram bins to create.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attlen","type":"smallint","description":"A copy of pg_type.typlen of this column's type","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnum","type":"smallint","description":"The number of the column. Ordinary columns are numbered from 1 up. System columns, such as oid, have (arbitrary) negative numbers.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attndims","type":"integer","description":"Number of dimensions, if the column is an array type; otherwise 0. (Presently, the number of dimensions of an array is not enforced, so any nonzero value effectively means \"it's an array\".)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcacheoff","type":"integer","description":"Always -1 in storage, but when loaded into a row descriptor in memory this might be updated to cache the offset of the attribute within the row","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypmod","type":"integer","description":"atttypmod records type-specific data supplied at table creation time (for example, the maximum length of a varchar column). It is passed to type-specific input functions and length coercion functions. The value will generally be -1 for types that do not need atttypmod.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attbyval","type":"boolean","description":"A copy of pg_type.typbyval of this column's type","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstorage","type":"\"char\"","description":"Normally a copy of pg_type.typstorage of this column's type. For TOAST-able data types, this can be altered after column creation to control storage policy.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attalign","type":"\"char\"","description":"A copy of pg_type.typalign of this column's type","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnotnull","type":"boolean","description":"This represents a not-null constraint. It is possible to change this column to enable or disable the constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasdef","type":"boolean","description":"This column has a default value, in which case there will be a corresponding entry in the pg_attrdef catalog that actually defines the value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attisdropped","type":"boolean","description":"This column has been dropped and is no longer valid. A dropped column is still physically present in the table, but is ignored by the parser and so cannot be accessed via SQL.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attislocal","type":"boolean","description":"This column is defined locally in the relation. Note that a column can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attinhcount","type":"integer","description":"The number of direct ancestors this column has. A column with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcollation","type":"oid","description":"The defined collation of the column, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attacl","type":"aclitem[]","description":"Column-level access privileges, if any have been granted specifically on this column","hidden":false,"type_oid":1034,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attoptions","type":"text[]","description":"Attribute-level options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attfdwoptions","type":"text[]","description":"Attribute-level foreign data wrapper options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-attribute.html","source_path":"sources/postgresql/9.3/catalog-pg-attribute.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_attribute.h","definition_source_path":"sources/postgresql/9.3/source/pg_attribute.h","source_column_count":21,"documentary_schema_source":"documentation","relation_oid":1249,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_attribute stores information about table columns. There will be exactly one pg_attribute row for every column in every table in the database. (There will also be attribute entries for indexes, and indeed all objects that have pg_class entries.)\n\nThe term attribute is equivalent to column and is used for historical reasons.","columns":[{"name":"attrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attname","type":"name","description":"The column name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypid","type":"oid","description":"The data type of this column","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstattarget","type":"integer","description":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of \"most common values\" to collect, and the target number of histogram bins to create.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attlen","type":"smallint","description":"A copy of pg_type.typlen of this column's type","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnum","type":"smallint","description":"The number of the column. Ordinary columns are numbered from 1 up. System columns, such as oid, have (arbitrary) negative numbers.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attndims","type":"integer","description":"Number of dimensions, if the column is an array type; otherwise 0. (Presently, the number of dimensions of an array is not enforced, so any nonzero value effectively means \"it's an array\".)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcacheoff","type":"integer","description":"Always -1 in storage, but when loaded into a row descriptor in memory this might be updated to cache the offset of the attribute within the row","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypmod","type":"integer","description":"atttypmod records type-specific data supplied at table creation time (for example, the maximum length of a varchar column). It is passed to type-specific input functions and length coercion functions. The value will generally be -1 for types that do not need atttypmod.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attbyval","type":"boolean","description":"A copy of pg_type.typbyval of this column's type","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstorage","type":"\"char\"","description":"Normally a copy of pg_type.typstorage of this column's type. For TOAST-able data types, this can be altered after column creation to control storage policy.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attalign","type":"\"char\"","description":"A copy of pg_type.typalign of this column's type","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnotnull","type":"boolean","description":"This represents a not-null constraint. It is possible to change this column to enable or disable the constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasdef","type":"boolean","description":"This column has a default value, in which case there will be a corresponding entry in the pg_attrdef catalog that actually defines the value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attisdropped","type":"boolean","description":"This column has been dropped and is no longer valid. A dropped column is still physically present in the table, but is ignored by the parser and so cannot be accessed via SQL.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attislocal","type":"boolean","description":"This column is defined locally in the relation. Note that a column can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attinhcount","type":"integer","description":"The number of direct ancestors this column has. A column with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcollation","type":"oid","description":"The defined collation of the column, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attacl","type":"aclitem[]","description":"Column-level access privileges, if any have been granted specifically on this column","hidden":false,"type_oid":1034,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attoptions","type":"text[]","description":"Attribute-level options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attfdwoptions","type":"text[]","description":"Attribute-level foreign data wrapper options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-attribute.html","source_path":"sources/postgresql/9.4/catalog-pg-attribute.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_attribute.h","definition_source_path":"sources/postgresql/9.4/source/pg_attribute.h","source_column_count":21,"documentary_schema_source":"documentation","relation_oid":1249,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_attribute stores information about table columns. There will be exactly one pg_attribute row for every column in every table in the database. (There will also be attribute entries for indexes, and indeed all objects that have pg_class entries.)\n\nThe term attribute is equivalent to column and is used for historical reasons.","columns":[{"name":"attrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attname","type":"name","description":"The column name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypid","type":"oid","description":"The data type of this column","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstattarget","type":"integer","description":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of \"most common values\" to collect, and the target number of histogram bins to create.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attlen","type":"smallint","description":"A copy of pg_type.typlen of this column's type","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnum","type":"smallint","description":"The number of the column. Ordinary columns are numbered from 1 up. System columns, such as oid, have (arbitrary) negative numbers.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attndims","type":"integer","description":"Number of dimensions, if the column is an array type; otherwise 0. (Presently, the number of dimensions of an array is not enforced, so any nonzero value effectively means \"it's an array\".)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcacheoff","type":"integer","description":"Always -1 in storage, but when loaded into a row descriptor in memory this might be updated to cache the offset of the attribute within the row","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypmod","type":"integer","description":"atttypmod records type-specific data supplied at table creation time (for example, the maximum length of a varchar column). It is passed to type-specific input functions and length coercion functions. The value will generally be -1 for types that do not need atttypmod.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attbyval","type":"boolean","description":"A copy of pg_type.typbyval of this column's type","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstorage","type":"\"char\"","description":"Normally a copy of pg_type.typstorage of this column's type. For TOAST-able data types, this can be altered after column creation to control storage policy.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attalign","type":"\"char\"","description":"A copy of pg_type.typalign of this column's type","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnotnull","type":"boolean","description":"This represents a not-null constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasdef","type":"boolean","description":"This column has a default value, in which case there will be a corresponding entry in the pg_attrdef catalog that actually defines the value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attisdropped","type":"boolean","description":"This column has been dropped and is no longer valid. A dropped column is still physically present in the table, but is ignored by the parser and so cannot be accessed via SQL.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attislocal","type":"boolean","description":"This column is defined locally in the relation. Note that a column can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attinhcount","type":"integer","description":"The number of direct ancestors this column has. A column with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcollation","type":"oid","description":"The defined collation of the column, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attacl","type":"aclitem[]","description":"Column-level access privileges, if any have been granted specifically on this column","hidden":false,"type_oid":1034,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attoptions","type":"text[]","description":"Attribute-level options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attfdwoptions","type":"text[]","description":"Attribute-level foreign data wrapper options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-attribute.html","source_path":"sources/postgresql/9.5/catalog-pg-attribute.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_attribute.h","definition_source_path":"sources/postgresql/9.5/source/pg_attribute.h","source_column_count":21,"documentary_schema_source":"documentation","relation_oid":1249,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_attribute stores information about table columns. There will be exactly one pg_attribute row for every column in every table in the database. (There will also be attribute entries for indexes, and indeed all objects that have pg_class entries.)\n\nThe term attribute is equivalent to column and is used for historical reasons.","columns":[{"name":"attrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attname","type":"name","description":"The column name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypid","type":"oid","description":"The data type of this column","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstattarget","type":"integer","description":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of \"most common values\" to collect, and the target number of histogram bins to create.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attlen","type":"smallint","description":"A copy of pg_type.typlen of this column's type","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnum","type":"smallint","description":"The number of the column. Ordinary columns are numbered from 1 up. System columns, such as oid, have (arbitrary) negative numbers.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attndims","type":"integer","description":"Number of dimensions, if the column is an array type; otherwise 0. (Presently, the number of dimensions of an array is not enforced, so any nonzero value effectively means \"it's an array\".)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcacheoff","type":"integer","description":"Always -1 in storage, but when loaded into a row descriptor in memory this might be updated to cache the offset of the attribute within the row","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypmod","type":"integer","description":"atttypmod records type-specific data supplied at table creation time (for example, the maximum length of a varchar column). It is passed to type-specific input functions and length coercion functions. The value will generally be -1 for types that do not need atttypmod.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attbyval","type":"boolean","description":"A copy of pg_type.typbyval of this column's type","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstorage","type":"\"char\"","description":"Normally a copy of pg_type.typstorage of this column's type. For TOAST-able data types, this can be altered after column creation to control storage policy.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attalign","type":"\"char\"","description":"A copy of pg_type.typalign of this column's type","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnotnull","type":"boolean","description":"This represents a not-null constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasdef","type":"boolean","description":"This column has a default value, in which case there will be a corresponding entry in the pg_attrdef catalog that actually defines the value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attisdropped","type":"boolean","description":"This column has been dropped and is no longer valid. A dropped column is still physically present in the table, but is ignored by the parser and so cannot be accessed via SQL.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attislocal","type":"boolean","description":"This column is defined locally in the relation. Note that a column can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attinhcount","type":"integer","description":"The number of direct ancestors this column has. A column with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcollation","type":"oid","description":"The defined collation of the column, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attacl","type":"aclitem[]","description":"Column-level access privileges, if any have been granted specifically on this column","hidden":false,"type_oid":1034,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attoptions","type":"text[]","description":"Attribute-level options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attfdwoptions","type":"text[]","description":"Attribute-level foreign data wrapper options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-attribute.html","source_path":"sources/postgresql/9.6/catalog-pg-attribute.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_attribute.h","definition_source_path":"sources/postgresql/9.6/source/pg_attribute.h","source_column_count":21,"documentary_schema_source":"documentation","relation_oid":1249,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_attribute stores information about table columns. There will be exactly one pg_attribute row for every column in every table in the database. (There will also be attribute entries for indexes, and indeed all objects that have pg_class entries.)\n\nThe term attribute is equivalent to column and is used for historical reasons.","columns":[{"name":"attrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attname","type":"name","description":"The column name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypid","type":"oid","description":"The data type of this column","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstattarget","type":"integer","description":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of “most common values” to collect, and the target number of histogram bins to create.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attlen","type":"smallint","description":"A copy of pg_type.typlen of this column's type","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnum","type":"smallint","description":"The number of the column. Ordinary columns are numbered from 1 up. System columns, such as oid, have (arbitrary) negative numbers.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attndims","type":"integer","description":"Number of dimensions, if the column is an array type; otherwise 0. (Presently, the number of dimensions of an array is not enforced, so any nonzero value effectively means “it's an array”.)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcacheoff","type":"integer","description":"Always -1 in storage, but when loaded into a row descriptor in memory this might be updated to cache the offset of the attribute within the row","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypmod","type":"integer","description":"atttypmod records type-specific data supplied at table creation time (for example, the maximum length of a varchar column). It is passed to type-specific input functions and length coercion functions. The value will generally be -1 for types that do not need atttypmod.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attbyval","type":"boolean","description":"A copy of pg_type.typbyval of this column's type","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstorage","type":"\"char\"","description":"Normally a copy of pg_type.typstorage of this column's type. For TOAST-able data types, this can be altered after column creation to control storage policy.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attalign","type":"\"char\"","description":"A copy of pg_type.typalign of this column's type","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnotnull","type":"boolean","description":"This represents a not-null constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasdef","type":"boolean","description":"This column has a default value, in which case there will be a corresponding entry in the pg_attrdef catalog that actually defines the value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attidentity","type":"\"char\"","description":"If a zero byte (''), then not an identity column. Otherwise, a = generated always, d = generated by default.","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attisdropped","type":"boolean","description":"This column has been dropped and is no longer valid. A dropped column is still physically present in the table, but is ignored by the parser and so cannot be accessed via SQL.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attislocal","type":"boolean","description":"This column is defined locally in the relation. Note that a column can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attinhcount","type":"integer","description":"The number of direct ancestors this column has. A column with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcollation","type":"oid","description":"The defined collation of the column, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attacl","type":"aclitem[]","description":"Column-level access privileges, if any have been granted specifically on this column","hidden":false,"type_oid":1034,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attoptions","type":"text[]","description":"Attribute-level options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attfdwoptions","type":"text[]","description":"Attribute-level foreign data wrapper options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-attribute.html","source_path":"sources/postgresql/10/catalog-pg-attribute.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_attribute.h","definition_source_path":"sources/postgresql/10/source/pg_attribute.h","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":1249,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_attribute stores information about table columns. There will be exactly one pg_attribute row for every column in every table in the database. (There will also be attribute entries for indexes, and indeed all objects that have pg_class entries.)\n\nThe term attribute is equivalent to column and is used for historical reasons.","columns":[{"name":"attrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attname","type":"name","description":"The column name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypid","type":"oid","description":"The data type of this column","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstattarget","type":"integer","description":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of “most common values” to collect, and the target number of histogram bins to create.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attlen","type":"smallint","description":"A copy of pg_type.typlen of this column's type","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnum","type":"smallint","description":"The number of the column. Ordinary columns are numbered from 1 up. System columns, such as oid, have (arbitrary) negative numbers.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attndims","type":"integer","description":"Number of dimensions, if the column is an array type; otherwise 0. (Presently, the number of dimensions of an array is not enforced, so any nonzero value effectively means “it's an array”.)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcacheoff","type":"integer","description":"Always -1 in storage, but when loaded into a row descriptor in memory this might be updated to cache the offset of the attribute within the row","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypmod","type":"integer","description":"atttypmod records type-specific data supplied at table creation time (for example, the maximum length of a varchar column). It is passed to type-specific input functions and length coercion functions. The value will generally be -1 for types that do not need atttypmod.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attbyval","type":"boolean","description":"A copy of pg_type.typbyval of this column's type","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstorage","type":"\"char\"","description":"Normally a copy of pg_type.typstorage of this column's type. For TOAST-able data types, this can be altered after column creation to control storage policy.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attalign","type":"\"char\"","description":"A copy of pg_type.typalign of this column's type","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnotnull","type":"boolean","description":"This represents a not-null constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasdef","type":"boolean","description":"This column has a default value, in which case there will be a corresponding entry in the pg_attrdef catalog that actually defines the value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasmissing","type":"boolean","description":"This column has a value which is used where the column is entirely missing from the row, as happens when a column is added with a non-volatile DEFAULT value after the row is created. The actual value used is stored in the attmissingval column.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attidentity","type":"\"char\"","description":"If a zero byte (''), then not an identity column. Otherwise, a = generated always, d = generated by default.","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attisdropped","type":"boolean","description":"This column has been dropped and is no longer valid. A dropped column is still physically present in the table, but is ignored by the parser and so cannot be accessed via SQL.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attislocal","type":"boolean","description":"This column is defined locally in the relation. Note that a column can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attinhcount","type":"integer","description":"The number of direct ancestors this column has. A column with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcollation","type":"oid","description":"The defined collation of the column, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attacl","type":"aclitem[]","description":"Column-level access privileges, if any have been granted specifically on this column","hidden":false,"type_oid":1034,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attoptions","type":"text[]","description":"Attribute-level options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attfdwoptions","type":"text[]","description":"Attribute-level foreign data wrapper options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attmissingval","type":"anyarray","description":"This column has a one element array containing the value used when the column is entirely missing from the row, as happens when the column is added with a non-volatile DEFAULT value after the row is created. The value is only used when atthasmissing is true. If there is no value the column is null.","hidden":false,"type_oid":2277,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-attribute.html","source_path":"sources/postgresql/11/catalog-pg-attribute.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_attribute.h","definition_source_path":"sources/postgresql/11/source/pg_attribute.h","source_column_count":24,"documentary_schema_source":"documentation","relation_oid":1249,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_attribute stores information about table columns. There will be exactly one pg_attribute row for every column in every table in the database. (There will also be attribute entries for indexes, and indeed all objects that have pg_class entries.)\n\nThe term attribute is equivalent to column and is used for historical reasons.","columns":[{"name":"attrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attname","type":"name","description":"The column name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypid","type":"oid","description":"The data type of this column","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstattarget","type":"integer","description":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of “most common values” to collect, and the target number of histogram bins to create.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attlen","type":"smallint","description":"A copy of pg_type.typlen of this column's type","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnum","type":"smallint","description":"The number of the column. Ordinary columns are numbered from 1 up. System columns, such as ctid, have (arbitrary) negative numbers.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attndims","type":"integer","description":"Number of dimensions, if the column is an array type; otherwise 0. (Presently, the number of dimensions of an array is not enforced, so any nonzero value effectively means “it's an array”.)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcacheoff","type":"integer","description":"Always -1 in storage, but when loaded into a row descriptor in memory this might be updated to cache the offset of the attribute within the row","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypmod","type":"integer","description":"atttypmod records type-specific data supplied at table creation time (for example, the maximum length of a varchar column). It is passed to type-specific input functions and length coercion functions. The value will generally be -1 for types that do not need atttypmod.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attbyval","type":"boolean","description":"A copy of pg_type.typbyval of this column's type","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstorage","type":"\"char\"","description":"Normally a copy of pg_type.typstorage of this column's type. For TOAST-able data types, this can be altered after column creation to control storage policy.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attalign","type":"\"char\"","description":"A copy of pg_type.typalign of this column's type","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnotnull","type":"boolean","description":"This represents a not-null constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasdef","type":"boolean","description":"This column has a default expression or generation expression, in which case there will be a corresponding entry in the pg_attrdef catalog that actually defines the expression. (Check attgenerated to determine whether this is a default or a generation expression.)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasmissing","type":"boolean","description":"This column has a value which is used where the column is entirely missing from the row, as happens when a column is added with a non-volatile DEFAULT value after the row is created. The actual value used is stored in the attmissingval column.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attidentity","type":"\"char\"","description":"If a zero byte (''), then not an identity column. Otherwise, a = generated always, d = generated by default.","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attgenerated","type":"\"char\"","description":"If a zero byte (''), then not a generated column. Otherwise, s = stored. (Other values might be added in the future.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attisdropped","type":"boolean","description":"This column has been dropped and is no longer valid. A dropped column is still physically present in the table, but is ignored by the parser and so cannot be accessed via SQL.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attislocal","type":"boolean","description":"This column is defined locally in the relation. Note that a column can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attinhcount","type":"integer","description":"The number of direct ancestors this column has. A column with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcollation","type":"oid","description":"The defined collation of the column, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attacl","type":"aclitem[]","description":"Column-level access privileges, if any have been granted specifically on this column","hidden":false,"type_oid":1034,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attoptions","type":"text[]","description":"Attribute-level options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attfdwoptions","type":"text[]","description":"Attribute-level foreign data wrapper options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attmissingval","type":"anyarray","description":"This column has a one element array containing the value used when the column is entirely missing from the row, as happens when the column is added with a non-volatile DEFAULT value after the row is created. The value is only used when atthasmissing is true. If there is no value the column is null.","hidden":false,"type_oid":2277,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-attribute.html","source_path":"sources/postgresql/12/catalog-pg-attribute.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_attribute.h","definition_source_path":"sources/postgresql/12/source/pg_attribute.h","source_column_count":25,"documentary_schema_source":"documentation","relation_oid":1249,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_attribute stores information about table columns. There will be exactly one pg_attribute row for every column in every table in the database. (There will also be attribute entries for indexes, and indeed all objects that have pg_class entries.)\n\nThe term attribute is equivalent to column and is used for historical reasons.","columns":[{"name":"attrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attname","type":"name","description":"The column name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypid","type":"oid","description":"The data type of this column","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstattarget","type":"integer","description":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of “most common values” to collect, and the target number of histogram bins to create.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attlen","type":"smallint","description":"A copy of pg_type.typlen of this column's type","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnum","type":"smallint","description":"The number of the column. Ordinary columns are numbered from 1 up. System columns, such as ctid, have (arbitrary) negative numbers.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attndims","type":"integer","description":"Number of dimensions, if the column is an array type; otherwise 0. (Presently, the number of dimensions of an array is not enforced, so any nonzero value effectively means “it's an array”.)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcacheoff","type":"integer","description":"Always -1 in storage, but when loaded into a row descriptor in memory this might be updated to cache the offset of the attribute within the row","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypmod","type":"integer","description":"atttypmod records type-specific data supplied at table creation time (for example, the maximum length of a varchar column). It is passed to type-specific input functions and length coercion functions. The value will generally be -1 for types that do not need atttypmod.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attbyval","type":"boolean","description":"A copy of pg_type.typbyval of this column's type","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstorage","type":"\"char\"","description":"Normally a copy of pg_type.typstorage of this column's type. For TOAST-able data types, this can be altered after column creation to control storage policy.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attalign","type":"\"char\"","description":"A copy of pg_type.typalign of this column's type","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnotnull","type":"boolean","description":"This represents a not-null constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasdef","type":"boolean","description":"This column has a default expression or generation expression, in which case there will be a corresponding entry in the pg_attrdef catalog that actually defines the expression. (Check attgenerated to determine whether this is a default or a generation expression.)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasmissing","type":"boolean","description":"This column has a value which is used where the column is entirely missing from the row, as happens when a column is added with a non-volatile DEFAULT value after the row is created. The actual value used is stored in the attmissingval column.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attidentity","type":"\"char\"","description":"If a zero byte (''), then not an identity column. Otherwise, a = generated always, d = generated by default.","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attgenerated","type":"\"char\"","description":"If a zero byte (''), then not a generated column. Otherwise, s = stored. (Other values might be added in the future.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attisdropped","type":"boolean","description":"This column has been dropped and is no longer valid. A dropped column is still physically present in the table, but is ignored by the parser and so cannot be accessed via SQL.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attislocal","type":"boolean","description":"This column is defined locally in the relation. Note that a column can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attinhcount","type":"integer","description":"The number of direct ancestors this column has. A column with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcollation","type":"oid","description":"The defined collation of the column, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attacl","type":"aclitem[]","description":"Column-level access privileges, if any have been granted specifically on this column","hidden":false,"type_oid":1034,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attoptions","type":"text[]","description":"Attribute-level options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attfdwoptions","type":"text[]","description":"Attribute-level foreign data wrapper options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attmissingval","type":"anyarray","description":"This column has a one element array containing the value used when the column is entirely missing from the row, as happens when the column is added with a non-volatile DEFAULT value after the row is created. The value is only used when atthasmissing is true. If there is no value the column is null.","hidden":false,"type_oid":2277,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-attribute.html","source_path":"sources/postgresql/13/catalog-pg-attribute.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_attribute.h","definition_source_path":"sources/postgresql/13/source/pg_attribute.h","source_column_count":25,"documentary_schema_source":"documentation","relation_oid":1249,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_attribute stores information about table columns. There will be exactly one pg_attribute row for every column in every table in the database. (There will also be attribute entries for indexes, and indeed all objects that have pg_class entries.)\n\nThe term attribute is equivalent to column and is used for historical reasons.","columns":[{"name":"attrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attname","type":"name","description":"The column name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypid","type":"oid","description":"The data type of this column (zero for a dropped column)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstattarget","type":"integer","description":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of “most common values” to collect, and the target number of histogram bins to create.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attlen","type":"smallint","description":"A copy of pg_type.typlen of this column's type","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnum","type":"smallint","description":"The number of the column. Ordinary columns are numbered from 1 up. System columns, such as ctid, have (arbitrary) negative numbers.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attndims","type":"integer","description":"Number of dimensions, if the column is an array type; otherwise 0. (Presently, the number of dimensions of an array is not enforced, so any nonzero value effectively means “it's an array”.)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcacheoff","type":"integer","description":"Always -1 in storage, but when loaded into a row descriptor in memory this might be updated to cache the offset of the attribute within the row","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypmod","type":"integer","description":"atttypmod records type-specific data supplied at table creation time (for example, the maximum length of a varchar column). It is passed to type-specific input functions and length coercion functions. The value will generally be -1 for types that do not need atttypmod.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attbyval","type":"boolean","description":"A copy of pg_type.typbyval of this column's type","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attalign","type":"\"char\"","description":"A copy of pg_type.typalign of this column's type","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstorage","type":"\"char\"","description":"Normally a copy of pg_type.typstorage of this column's type. For TOAST-able data types, this can be altered after column creation to control storage policy.","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcompression","type":"\"char\"","description":"The current compression method of the column. Typically this is '\\0' to specify use of the current default setting (see default_toast_compression). Otherwise, 'p' selects pglz compression, while 'l' selects LZ4 compression. However, this field is ignored whenever attstorage does not allow compression.","documented_type":"char","hidden":false,"type_oid":18,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnotnull","type":"boolean","description":"This represents a not-null constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasdef","type":"boolean","description":"This column has a default expression or generation expression, in which case there will be a corresponding entry in the pg_attrdef catalog that actually defines the expression. (Check attgenerated to determine whether this is a default or a generation expression.)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasmissing","type":"boolean","description":"This column has a value which is used where the column is entirely missing from the row, as happens when a column is added with a non-volatile DEFAULT value after the row is created. The actual value used is stored in the attmissingval column.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attidentity","type":"\"char\"","description":"If a zero byte (''), then not an identity column. Otherwise, a = generated always, d = generated by default.","documented_type":"char","hidden":false,"type_oid":18,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attgenerated","type":"\"char\"","description":"If a zero byte (''), then not a generated column. Otherwise, s = stored. (Other values might be added in the future.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attisdropped","type":"boolean","description":"This column has been dropped and is no longer valid. A dropped column is still physically present in the table, but is ignored by the parser and so cannot be accessed via SQL.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attislocal","type":"boolean","description":"This column is defined locally in the relation. Note that a column can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attinhcount","type":"integer","description":"The number of direct ancestors this column has. A column with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcollation","type":"oid","description":"The defined collation of the column, or zero if the column is not of a collatable data type","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attacl","type":"aclitem[]","description":"Column-level access privileges, if any have been granted specifically on this column","hidden":false,"type_oid":1034,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attoptions","type":"text[]","description":"Attribute-level options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attfdwoptions","type":"text[]","description":"Attribute-level foreign data wrapper options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attmissingval","type":"anyarray","description":"This column has a one element array containing the value used when the column is entirely missing from the row, as happens when the column is added with a non-volatile DEFAULT value after the row is created. The value is only used when atthasmissing is true. If there is no value the column is null.","hidden":false,"type_oid":2277,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-attribute.html","source_path":"sources/postgresql/14/catalog-pg-attribute.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_attribute.h","definition_source_path":"sources/postgresql/14/source/pg_attribute.h","source_column_count":26,"documentary_schema_source":"documentation","relation_oid":1249,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_attribute stores information about table columns. There will be exactly one pg_attribute row for every column in every table in the database. (There will also be attribute entries for indexes, and indeed all objects that have pg_class entries.)\n\nThe term attribute is equivalent to column and is used for historical reasons.","columns":[{"name":"attrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attname","type":"name","description":"The column name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypid","type":"oid","description":"The data type of this column (zero for a dropped column)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstattarget","type":"integer","description":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of “most common values” to collect, and the target number of histogram bins to create.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attlen","type":"smallint","description":"A copy of pg_type.typlen of this column's type","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnum","type":"smallint","description":"The number of the column. Ordinary columns are numbered from 1 up. System columns, such as ctid, have (arbitrary) negative numbers.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attndims","type":"integer","description":"Number of dimensions, if the column is an array type; otherwise 0. (Presently, the number of dimensions of an array is not enforced, so any nonzero value effectively means “it's an array”.)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcacheoff","type":"integer","description":"Always -1 in storage, but when loaded into a row descriptor in memory this might be updated to cache the offset of the attribute within the row","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypmod","type":"integer","description":"atttypmod records type-specific data supplied at table creation time (for example, the maximum length of a varchar column). It is passed to type-specific input functions and length coercion functions. The value will generally be -1 for types that do not need atttypmod.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attbyval","type":"boolean","description":"A copy of pg_type.typbyval of this column's type","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attalign","type":"\"char\"","description":"A copy of pg_type.typalign of this column's type","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstorage","type":"\"char\"","description":"Normally a copy of pg_type.typstorage of this column's type. For TOAST-able data types, this can be altered after column creation to control storage policy.","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcompression","type":"\"char\"","description":"The current compression method of the column. Typically this is '\\0' to specify use of the current default setting (see default_toast_compression). Otherwise, 'p' selects pglz compression, while 'l' selects LZ4 compression. However, this field is ignored whenever attstorage does not allow compression.","documented_type":"char","hidden":false,"type_oid":18,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnotnull","type":"boolean","description":"This represents a not-null constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasdef","type":"boolean","description":"This column has a default expression or generation expression, in which case there will be a corresponding entry in the pg_attrdef catalog that actually defines the expression. (Check attgenerated to determine whether this is a default or a generation expression.)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasmissing","type":"boolean","description":"This column has a value which is used where the column is entirely missing from the row, as happens when a column is added with a non-volatile DEFAULT value after the row is created. The actual value used is stored in the attmissingval column.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attidentity","type":"\"char\"","description":"If a zero byte (''), then not an identity column. Otherwise, a = generated always, d = generated by default.","documented_type":"char","hidden":false,"type_oid":18,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attgenerated","type":"\"char\"","description":"If a zero byte (''), then not a generated column. Otherwise, s = stored. (Other values might be added in the future.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attisdropped","type":"boolean","description":"This column has been dropped and is no longer valid. A dropped column is still physically present in the table, but is ignored by the parser and so cannot be accessed via SQL.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attislocal","type":"boolean","description":"This column is defined locally in the relation. Note that a column can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attinhcount","type":"integer","description":"The number of direct ancestors this column has. A column with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcollation","type":"oid","description":"The defined collation of the column, or zero if the column is not of a collatable data type","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attacl","type":"aclitem[]","description":"Column-level access privileges, if any have been granted specifically on this column","hidden":false,"type_oid":1034,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attoptions","type":"text[]","description":"Attribute-level options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attfdwoptions","type":"text[]","description":"Attribute-level foreign data wrapper options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attmissingval","type":"anyarray","description":"This column has a one element array containing the value used when the column is entirely missing from the row, as happens when the column is added with a non-volatile DEFAULT value after the row is created. The value is only used when atthasmissing is true. If there is no value the column is null.","hidden":false,"type_oid":2277,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-attribute.html","source_path":"sources/postgresql/15/catalog-pg-attribute.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_attribute.h","definition_source_path":"sources/postgresql/15/source/pg_attribute.h","source_column_count":26,"documentary_schema_source":"documentation","relation_oid":1249,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_attribute stores information about table columns. There will be exactly one pg_attribute row for every column in every table in the database. (There will also be attribute entries for indexes, and indeed all objects that have pg_class entries.)\n\nThe term attribute is equivalent to column and is used for historical reasons.","columns":[{"name":"attrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attname","type":"name","description":"The column name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypid","type":"oid","description":"The data type of this column (zero for a dropped column)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attlen","type":"smallint","description":"A copy of pg_type.typlen of this column's type","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnum","type":"smallint","description":"The number of the column. Ordinary columns are numbered from 1 up. System columns, such as ctid, have (arbitrary) negative numbers.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcacheoff","type":"integer","description":"Always -1 in storage, but when loaded into a row descriptor in memory this might be updated to cache the offset of the attribute within the row","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypmod","type":"integer","description":"atttypmod records type-specific data supplied at table creation time (for example, the maximum length of a varchar column). It is passed to type-specific input functions and length coercion functions. The value will generally be -1 for types that do not need atttypmod.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attndims","type":"smallint","description":"Number of dimensions, if the column is an array type; otherwise 0. (Presently, the number of dimensions of an array is not enforced, so any nonzero value effectively means “it's an array”.)","documented_type":"int2","hidden":false,"type_oid":21,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attbyval","type":"boolean","description":"A copy of pg_type.typbyval of this column's type","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attalign","type":"\"char\"","description":"A copy of pg_type.typalign of this column's type","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstorage","type":"\"char\"","description":"Normally a copy of pg_type.typstorage of this column's type. For TOAST-able data types, this can be altered after column creation to control storage policy.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcompression","type":"\"char\"","description":"The current compression method of the column. Typically this is '\\0' to specify use of the current default setting (see default_toast_compression). Otherwise, 'p' selects pglz compression, while 'l' selects LZ4 compression. However, this field is ignored whenever attstorage does not allow compression.","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnotnull","type":"boolean","description":"This represents a not-null constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasdef","type":"boolean","description":"This column has a default expression or generation expression, in which case there will be a corresponding entry in the pg_attrdef catalog that actually defines the expression. (Check attgenerated to determine whether this is a default or a generation expression.)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasmissing","type":"boolean","description":"This column has a value which is used where the column is entirely missing from the row, as happens when a column is added with a non-volatile DEFAULT value after the row is created. The actual value used is stored in the attmissingval column.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attidentity","type":"\"char\"","description":"If a zero byte (''), then not an identity column. Otherwise, a = generated always, d = generated by default.","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attgenerated","type":"\"char\"","description":"If a zero byte (''), then not a generated column. Otherwise, s = stored. (Other values might be added in the future.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attisdropped","type":"boolean","description":"This column has been dropped and is no longer valid. A dropped column is still physically present in the table, but is ignored by the parser and so cannot be accessed via SQL.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attislocal","type":"boolean","description":"This column is defined locally in the relation. Note that a column can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attinhcount","type":"smallint","description":"The number of direct ancestors this column has. A column with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstattarget","type":"smallint","description":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of “most common values” to collect, and the target number of histogram bins to create.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcollation","type":"oid","description":"The defined collation of the column, or zero if the column is not of a collatable data type","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attacl","type":"aclitem[]","description":"Column-level access privileges, if any have been granted specifically on this column","hidden":false,"type_oid":1034,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attoptions","type":"text[]","description":"Attribute-level options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attfdwoptions","type":"text[]","description":"Attribute-level foreign data wrapper options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attmissingval","type":"anyarray","description":"This column has a one element array containing the value used when the column is entirely missing from the row, as happens when the column is added with a non-volatile DEFAULT value after the row is created. The value is only used when atthasmissing is true. If there is no value the column is null.","hidden":false,"type_oid":2277,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-attribute.html","source_path":"sources/postgresql/16/catalog-pg-attribute.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_attribute.h","definition_source_path":"sources/postgresql/16/source/pg_attribute.h","source_column_count":26,"documentary_schema_source":"documentation","relation_oid":1249,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_attribute stores information about table columns. There will be exactly one pg_attribute row for every column in every table in the database. (There will also be attribute entries for indexes, and indeed all objects that have pg_class entries.)\n\nThe term attribute is equivalent to column and is used for historical reasons.","columns":[{"name":"attrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attname","type":"name","description":"The column name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypid","type":"oid","description":"The data type of this column (zero for a dropped column)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attlen","type":"smallint","description":"A copy of pg_type.typlen of this column's type","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnum","type":"smallint","description":"The number of the column. Ordinary columns are numbered from 1 up. System columns, such as ctid, have (arbitrary) negative numbers.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcacheoff","type":"integer","description":"Always -1 in storage, but when loaded into a row descriptor in memory this might be updated to cache the offset of the attribute within the row","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypmod","type":"integer","description":"atttypmod records type-specific data supplied at table creation time (for example, the maximum length of a varchar column). It is passed to type-specific input functions and length coercion functions. The value will generally be -1 for types that do not need atttypmod.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attndims","type":"smallint","description":"Number of dimensions, if the column is an array type; otherwise 0. (Presently, the number of dimensions of an array is not enforced, so any nonzero value effectively means “it's an array”.)","documented_type":"int2","hidden":false,"type_oid":21,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attbyval","type":"boolean","description":"A copy of pg_type.typbyval of this column's type","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attalign","type":"\"char\"","description":"A copy of pg_type.typalign of this column's type","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstorage","type":"\"char\"","description":"Normally a copy of pg_type.typstorage of this column's type. For TOAST-able data types, this can be altered after column creation to control storage policy.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcompression","type":"\"char\"","description":"The current compression method of the column. Typically this is '\\0' to specify use of the current default setting (see default_toast_compression). Otherwise, 'p' selects pglz compression, while 'l' selects LZ4 compression. However, this field is ignored whenever attstorage does not allow compression.","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnotnull","type":"boolean","description":"This represents a not-null constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasdef","type":"boolean","description":"This column has a default expression or generation expression, in which case there will be a corresponding entry in the pg_attrdef catalog that actually defines the expression. (Check attgenerated to determine whether this is a default or a generation expression.)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasmissing","type":"boolean","description":"This column has a value which is used where the column is entirely missing from the row, as happens when a column is added with a non-volatile DEFAULT value after the row is created. The actual value used is stored in the attmissingval column.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attidentity","type":"\"char\"","description":"If a zero byte (''), then not an identity column. Otherwise, a = generated always, d = generated by default.","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attgenerated","type":"\"char\"","description":"If a zero byte (''), then not a generated column. Otherwise, s = stored. (Other values might be added in the future.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attisdropped","type":"boolean","description":"This column has been dropped and is no longer valid. A dropped column is still physically present in the table, but is ignored by the parser and so cannot be accessed via SQL.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attislocal","type":"boolean","description":"This column is defined locally in the relation. Note that a column can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attinhcount","type":"smallint","description":"The number of direct ancestors this column has. A column with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcollation","type":"oid","description":"The defined collation of the column, or zero if the column is not of a collatable data type","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstattarget","type":"smallint","description":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A null value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of “most common values” to collect, and the target number of histogram bins to create.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attacl","type":"aclitem[]","description":"Column-level access privileges, if any have been granted specifically on this column","hidden":false,"type_oid":1034,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attoptions","type":"text[]","description":"Attribute-level options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attfdwoptions","type":"text[]","description":"Attribute-level foreign data wrapper options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attmissingval","type":"anyarray","description":"This column has a one element array containing the value used when the column is entirely missing from the row, as happens when the column is added with a non-volatile DEFAULT value after the row is created. The value is only used when atthasmissing is true. If there is no value the column is null.","hidden":false,"type_oid":2277,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-attribute.html","source_path":"sources/postgresql/17/catalog-pg-attribute.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_attribute.h","definition_source_path":"sources/postgresql/17/source/pg_attribute.h","source_column_count":26,"documentary_schema_source":"documentation","relation_oid":1249,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_attribute stores information about table columns. There will be exactly one pg_attribute row for every column in every table in the database. (There will also be attribute entries for indexes, and indeed all objects that have pg_class entries.)\n\nThe term attribute is equivalent to column and is used for historical reasons.","columns":[{"name":"attrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attname","type":"name","description":"The column name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypid","type":"oid","description":"The data type of this column (zero for a dropped column)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attlen","type":"smallint","description":"A copy of pg_type.typlen of this column's type","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnum","type":"smallint","description":"The number of the column. Ordinary columns are numbered from 1 up. System columns, such as ctid, have (arbitrary) negative numbers.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypmod","type":"integer","description":"atttypmod records type-specific data supplied at table creation time (for example, the maximum length of a varchar column). It is passed to type-specific input functions and length coercion functions. The value will generally be -1 for types that do not need atttypmod.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attndims","type":"smallint","description":"Number of dimensions, if the column is an array type; otherwise 0. (Presently, the number of dimensions of an array is not enforced, so any nonzero value effectively means “it's an array”.)","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attbyval","type":"boolean","description":"A copy of pg_type.typbyval of this column's type","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attalign","type":"\"char\"","description":"A copy of pg_type.typalign of this column's type","documented_type":"char","hidden":false,"type_oid":18,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstorage","type":"\"char\"","description":"Normally a copy of pg_type.typstorage of this column's type. For TOAST-able data types, this can be altered after column creation to control storage policy.","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcompression","type":"\"char\"","description":"The current compression method of the column. Typically this is '\\0' to specify use of the current default setting (see default_toast_compression). Otherwise, 'p' selects pglz compression, while 'l' selects LZ4 compression. However, this field is ignored whenever attstorage does not allow compression.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnotnull","type":"boolean","description":"This column has a (possibly invalid) not-null constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasdef","type":"boolean","description":"This column has a default expression or generation expression, in which case there will be a corresponding entry in the pg_attrdef catalog that actually defines the expression. (Check attgenerated to determine whether this is a default or a generation expression.)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasmissing","type":"boolean","description":"This column has a value which is used where the column is entirely missing from the row, as happens when a column is added with a non-volatile DEFAULT value after the row is created. The actual value used is stored in the attmissingval column.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attidentity","type":"\"char\"","description":"If a zero byte (''), then not an identity column. Otherwise, a = generated always, d = generated by default.","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attgenerated","type":"\"char\"","description":"If a zero byte (''), then not a generated column. Otherwise, s = stored, v = virtual. A stored generated column is physically stored like a normal column. A virtual generated column is physically stored as a null value, with the actual value being computed at run time.","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attisdropped","type":"boolean","description":"This column has been dropped and is no longer valid. A dropped column is still physically present in the table, but is ignored by the parser and so cannot be accessed via SQL.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attislocal","type":"boolean","description":"This column is defined locally in the relation. Note that a column can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attinhcount","type":"smallint","description":"The number of direct ancestors this column has. A column with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcollation","type":"oid","description":"The defined collation of the column, or zero if the column is not of a collatable data type","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstattarget","type":"smallint","description":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A null value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of “most common values” to collect, and the target number of histogram bins to create.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attacl","type":"aclitem[]","description":"Column-level access privileges, if any have been granted specifically on this column","hidden":false,"type_oid":1034,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attoptions","type":"text[]","description":"Attribute-level options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attfdwoptions","type":"text[]","description":"Attribute-level foreign data wrapper options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attmissingval","type":"anyarray","description":"This column has a one element array containing the value used when the column is entirely missing from the row, as happens when the column is added with a non-volatile DEFAULT value after the row is created. The value is only used when atthasmissing is true. If there is no value the column is null.","hidden":false,"type_oid":2277,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-attribute.html","source_path":"sources/postgresql/18/catalog-pg-attribute.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_attribute.h","definition_source_path":"sources/postgresql/18/source/pg_attribute.h","source_column_count":25,"documentary_schema_source":"documentation","relation_oid":1249,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_attribute stores information about table columns. There will be exactly one pg_attribute row for every column in every table in the database. (There will also be attribute entries for indexes, and indeed all objects that have pg_class entries.)\n\nThe term attribute is equivalent to column and is used for historical reasons.","columns":[{"name":"attrelid","type":"oid","description":"The table this column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attname","type":"name","description":"The column name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypid","type":"oid","description":"The data type of this column (zero for a dropped column)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attlen","type":"smallint","description":"A copy of pg_type.typlen of this column's type","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnum","type":"smallint","description":"The number of the column. Ordinary columns are numbered from 1 up. System columns, such as ctid, have (arbitrary) negative numbers.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atttypmod","type":"integer","description":"atttypmod records type-specific data supplied at table creation time (for example, the maximum length of a varchar column). It is passed to type-specific input functions and length coercion functions. The value will generally be -1 for types that do not need atttypmod.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attndims","type":"smallint","description":"Number of dimensions, if the column is an array type; otherwise 0. (Presently, the number of dimensions of an array is not enforced, so any nonzero value effectively means “it's an array”.)","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attbyval","type":"boolean","description":"A copy of pg_type.typbyval of this column's type","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attalign","type":"\"char\"","description":"A copy of pg_type.typalign of this column's type","documented_type":"char","hidden":false,"type_oid":18,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstorage","type":"\"char\"","description":"Normally a copy of pg_type.typstorage of this column's type. For TOAST-able data types, this can be altered after column creation to control storage policy.","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcompression","type":"\"char\"","description":"The current compression method of the column. Typically this is '\\0' to specify use of the current default setting (see default_toast_compression). Otherwise, 'p' selects pglz compression, while 'l' selects LZ4 compression. However, this field is ignored whenever attstorage does not allow compression.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attnotnull","type":"boolean","description":"This column has a (possibly invalid) not-null constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasdef","type":"boolean","description":"This column has a default expression or generation expression, in which case there will be a corresponding entry in the pg_attrdef catalog that actually defines the expression. (Check attgenerated to determine whether this is a default or a generation expression.)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"atthasmissing","type":"boolean","description":"This column has a value which is used where the column is entirely missing from the row, as happens when a column is added with a non-volatile DEFAULT value after the row is created. The actual value used is stored in the attmissingval column.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attidentity","type":"\"char\"","description":"If a zero byte (''), then not an identity column. Otherwise, a = generated always, d = generated by default.","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attgenerated","type":"\"char\"","description":"If a zero byte (''), then not a generated column. Otherwise, s = stored, v = virtual. A stored generated column is physically stored like a normal column. A virtual generated column is physically stored as a null value, with the actual value being computed at run time.","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attisdropped","type":"boolean","description":"This column has been dropped and is no longer valid. A dropped column is still physically present in the table, but is ignored by the parser and so cannot be accessed via SQL.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attislocal","type":"boolean","description":"This column is defined locally in the relation. Note that a column can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attinhcount","type":"smallint","description":"The number of direct ancestors this column has. A column with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attcollation","type":"oid","description":"The defined collation of the column, or zero if the column is not of a collatable data type","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attstattarget","type":"smallint","description":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A null value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of “most common values” to collect, and the target number of histogram bins to create.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attacl","type":"aclitem[]","description":"Column-level access privileges, if any have been granted specifically on this column","hidden":false,"type_oid":1034,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attoptions","type":"text[]","description":"Attribute-level options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attfdwoptions","type":"text[]","description":"Attribute-level foreign data wrapper options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"attmissingval","type":"anyarray","description":"This column has a one element array containing the value used when the column is entirely missing from the row, as happens when the column is added with a non-volatile DEFAULT value after the row is created. The value is only used when atthasmissing is true. If there is no value the column is null.","hidden":false,"type_oid":2277,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-attribute.html","source_path":"sources/postgresql/19/catalog-pg-attribute.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_attribute.h","definition_source_path":"sources/postgresql/19/source/pg_attribute.h","source_column_count":25,"documentary_schema_source":"documentation","relation_oid":1249,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[{"name":"attcollation","type":"oid","description":"The defined collation of the column, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[{"name":"attfdwoptions","type":"text[]","description":"Attribute-level foreign data wrapper options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"attnotnull","from":"This represents a not-null constraint. It is possible to change this column to enable or disable the constraint.","to":"This represents a not-null constraint."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[{"name":"attidentity","type":"\"char\"","description":"If a zero byte (''), then not an identity column. Otherwise, a = generated always, d = generated by default.","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"attfdwoptions","from":"Attribute-level foreign data wrapper options, as \"keyword=value\" strings","to":"Attribute-level foreign data wrapper options, as “keyword=value” strings"},{"name":"attndims","from":"Number of dimensions, if the column is an array type; otherwise 0. (Presently, the number of dimensions of an array is not enforced, so any nonzero value effectively means \"it's an array\".)","to":"Number of dimensions, if the column is an array type; otherwise 0. (Presently, the number of dimensions of an array is not enforced, so any nonzero value effectively means “it's an array”.)"},{"name":"attoptions","from":"Attribute-level options, as \"keyword=value\" strings","to":"Attribute-level options, as “keyword=value” strings"},{"name":"attstattarget","from":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of \"most common values\" to collect, and the target number of histogram bins to create.","to":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of “most common values” to collect, and the target number of histogram bins to create."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"10","to":"11","status":"changed","added_columns":[{"name":"atthasmissing","type":"boolean","description":"This column has a value which is used where the column is entirely missing from the row, as happens when a column is added with a non-volatile DEFAULT value after the row is created. The actual value used is stored in the attmissingval column.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"attmissingval","type":"anyarray","description":"This column has a one element array containing the value used when the column is entirely missing from the row, as happens when the column is added with a non-volatile DEFAULT value after the row is created. The value is only used when atthasmissing is true. If there is no value the column is null.","hidden":false,"type_oid":2277,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"11","to":"12","status":"changed","added_columns":[{"name":"attgenerated","type":"\"char\"","description":"If a zero byte (''), then not a generated column. Otherwise, s = stored. (Other values might be added in the future.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"atthasdef","from":"This column has a default value, in which case there will be a corresponding entry in the pg_attrdef catalog that actually defines the value.","to":"This column has a default expression or generation expression, in which case there will be a corresponding entry in the pg_attrdef catalog that actually defines the expression. (Check attgenerated to determine whether this is a default or a generation expression.)"},{"name":"attnum","from":"The number of the column. Ordinary columns are numbered from 1 up. System columns, such as oid, have (arbitrary) negative numbers.","to":"The number of the column. Ordinary columns are numbered from 1 up. System columns, such as ctid, have (arbitrary) negative numbers."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[{"name":"attcompression","type":"\"char\"","description":"The current compression method of the column. Typically this is '\\0' to specify use of the current default setting (see default_toast_compression). Otherwise, 'p' selects pglz compression, while 'l' selects LZ4 compression. However, this field is ignored whenever attstorage does not allow compression.","documented_type":"char","hidden":false,"type_oid":18,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"attcollation","from":"The defined collation of the column, or zero if the column is not of a collatable data type.","to":"The defined collation of the column, or zero if the column is not of a collatable data type"},{"name":"atttypid","from":"The data type of this column","to":"The data type of this column (zero for a dropped column)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":true,"structural":true},{"from":"15","to":"16","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[{"name":"attinhcount","from":"integer","to":"smallint"},{"name":"attndims","from":"integer","to":"smallint"},{"name":"attstattarget","from":"integer","to":"smallint"}],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":true,"structural":true},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"attstattarget","from":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of “most common values” to collect, and the target number of histogram bins to create.","to":"attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value indicates that no statistics should be collected. A null value says to use the system default statistics target. The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target number of “most common values” to collect, and the target number of histogram bins to create."}],"reference_changes":[],"attribute_changes":[{"name":"attstattarget","attribute":"not_null","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":true,"structural":true},{"from":"17","to":"18","status":"changed","added_columns":[],"removed_columns":[{"name":"attcacheoff","type":"integer","description":"Always -1 in storage, but when loaded into a row descriptor in memory this might be updated to cache the offset of the attribute within the row","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"type_changes":[],"description_changes":[{"name":"attgenerated","from":"If a zero byte (''), then not a generated column. Otherwise, s = stored. (Other values might be added in the future.)","to":"If a zero byte (''), then not a generated column. Otherwise, s = stored, v = virtual. A stored generated column is physically stored like a normal column. A virtual generated column is physically stored as a null value, with the actual value being computed at run time."},{"name":"attnotnull","from":"This represents a not-null constraint.","to":"This column has a (possibly invalid) not-null constraint."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_auth_members","kind":"catalog","summary":"authorization identifier membership relationships","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_auth_members shows the membership relations between roles. Any non-circular set of relationships is allowed.\n\nBecause user identities are cluster-wide, pg_auth_members is shared across all databases of a cluster: there is only one copy of pg_auth_members per cluster, not one per database.","columns":[{"name":"roleid","type":"oid","description":"ID of a role that has a member","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"member","type":"oid","description":"ID of a role that is a member of roleid","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"grantor","type":"oid","description":"ID of the role that granted this membership","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"admin_option","type":"boolean","description":"True if member can grant membership in roleid to others","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-auth-members.html","source_path":"sources/postgresql/9.0/catalog-pg-auth-members.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_auth_members.h","definition_source_path":"sources/postgresql/9.0/source/pg_auth_members.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1261,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_auth_members shows the membership relations between roles. Any non-circular set of relationships is allowed.\n\nBecause user identities are cluster-wide, pg_auth_members is shared across all databases of a cluster: there is only one copy of pg_auth_members per cluster, not one per database.","columns":[{"name":"roleid","type":"oid","description":"ID of a role that has a member","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"member","type":"oid","description":"ID of a role that is a member of roleid","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"grantor","type":"oid","description":"ID of the role that granted this membership","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"admin_option","type":"boolean","description":"True if member can grant membership in roleid to others","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-auth-members.html","source_path":"sources/postgresql/9.1/catalog-pg-auth-members.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_auth_members.h","definition_source_path":"sources/postgresql/9.1/source/pg_auth_members.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1261,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_auth_members shows the membership relations between roles. Any non-circular set of relationships is allowed.\n\nBecause user identities are cluster-wide, pg_auth_members is shared across all databases of a cluster: there is only one copy of pg_auth_members per cluster, not one per database.","columns":[{"name":"roleid","type":"oid","description":"ID of a role that has a member","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"member","type":"oid","description":"ID of a role that is a member of roleid","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"grantor","type":"oid","description":"ID of the role that granted this membership","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"admin_option","type":"boolean","description":"True if member can grant membership in roleid to others","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-auth-members.html","source_path":"sources/postgresql/9.2/catalog-pg-auth-members.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_auth_members.h","definition_source_path":"sources/postgresql/9.2/source/pg_auth_members.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1261,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_auth_members shows the membership relations between roles. Any non-circular set of relationships is allowed.\n\nBecause user identities are cluster-wide, pg_auth_members is shared across all databases of a cluster: there is only one copy of pg_auth_members per cluster, not one per database.","columns":[{"name":"roleid","type":"oid","description":"ID of a role that has a member","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"member","type":"oid","description":"ID of a role that is a member of roleid","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"grantor","type":"oid","description":"ID of the role that granted this membership","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"admin_option","type":"boolean","description":"True if member can grant membership in roleid to others","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-auth-members.html","source_path":"sources/postgresql/9.3/catalog-pg-auth-members.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_auth_members.h","definition_source_path":"sources/postgresql/9.3/source/pg_auth_members.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1261,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_auth_members shows the membership relations between roles. Any non-circular set of relationships is allowed.\n\nBecause user identities are cluster-wide, pg_auth_members is shared across all databases of a cluster: there is only one copy of pg_auth_members per cluster, not one per database.","columns":[{"name":"roleid","type":"oid","description":"ID of a role that has a member","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"member","type":"oid","description":"ID of a role that is a member of roleid","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"grantor","type":"oid","description":"ID of the role that granted this membership","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"admin_option","type":"boolean","description":"True if member can grant membership in roleid to others","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-auth-members.html","source_path":"sources/postgresql/9.4/catalog-pg-auth-members.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_auth_members.h","definition_source_path":"sources/postgresql/9.4/source/pg_auth_members.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1261,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_auth_members shows the membership relations between roles. Any non-circular set of relationships is allowed.\n\nBecause user identities are cluster-wide, pg_auth_members is shared across all databases of a cluster: there is only one copy of pg_auth_members per cluster, not one per database.","columns":[{"name":"roleid","type":"oid","description":"ID of a role that has a member","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"member","type":"oid","description":"ID of a role that is a member of roleid","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"grantor","type":"oid","description":"ID of the role that granted this membership","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"admin_option","type":"boolean","description":"True if member can grant membership in roleid to others","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-auth-members.html","source_path":"sources/postgresql/9.5/catalog-pg-auth-members.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_auth_members.h","definition_source_path":"sources/postgresql/9.5/source/pg_auth_members.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1261,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_auth_members shows the membership relations between roles. Any non-circular set of relationships is allowed.\n\nBecause user identities are cluster-wide, pg_auth_members is shared across all databases of a cluster: there is only one copy of pg_auth_members per cluster, not one per database.","columns":[{"name":"roleid","type":"oid","description":"ID of a role that has a member","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"member","type":"oid","description":"ID of a role that is a member of roleid","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"grantor","type":"oid","description":"ID of the role that granted this membership","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"admin_option","type":"boolean","description":"True if member can grant membership in roleid to others","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-auth-members.html","source_path":"sources/postgresql/9.6/catalog-pg-auth-members.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_auth_members.h","definition_source_path":"sources/postgresql/9.6/source/pg_auth_members.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1261,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_auth_members shows the membership relations between roles. Any non-circular set of relationships is allowed.\n\nBecause user identities are cluster-wide, pg_auth_members is shared across all databases of a cluster: there is only one copy of pg_auth_members per cluster, not one per database.","columns":[{"name":"roleid","type":"oid","description":"ID of a role that has a member","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"member","type":"oid","description":"ID of a role that is a member of roleid","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"grantor","type":"oid","description":"ID of the role that granted this membership","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"admin_option","type":"boolean","description":"True if member can grant membership in roleid to others","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-auth-members.html","source_path":"sources/postgresql/10/catalog-pg-auth-members.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_auth_members.h","definition_source_path":"sources/postgresql/10/source/pg_auth_members.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1261,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_auth_members shows the membership relations between roles. Any non-circular set of relationships is allowed.\n\nBecause user identities are cluster-wide, pg_auth_members is shared across all databases of a cluster: there is only one copy of pg_auth_members per cluster, not one per database.","columns":[{"name":"roleid","type":"oid","description":"ID of a role that has a member","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"member","type":"oid","description":"ID of a role that is a member of roleid","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"grantor","type":"oid","description":"ID of the role that granted this membership","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"admin_option","type":"boolean","description":"True if member can grant membership in roleid to others","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-auth-members.html","source_path":"sources/postgresql/11/catalog-pg-auth-members.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_auth_members.h","definition_source_path":"sources/postgresql/11/source/pg_auth_members.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1261,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_auth_members shows the membership relations between roles. Any non-circular set of relationships is allowed.\n\nBecause user identities are cluster-wide, pg_auth_members is shared across all databases of a cluster: there is only one copy of pg_auth_members per cluster, not one per database.","columns":[{"name":"roleid","type":"oid","description":"ID of a role that has a member","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"member","type":"oid","description":"ID of a role that is a member of roleid","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"grantor","type":"oid","description":"ID of the role that granted this membership","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"admin_option","type":"boolean","description":"True if member can grant membership in roleid to others","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-auth-members.html","source_path":"sources/postgresql/12/catalog-pg-auth-members.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_auth_members.h","definition_source_path":"sources/postgresql/12/source/pg_auth_members.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1261,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_auth_members shows the membership relations between roles. Any non-circular set of relationships is allowed.\n\nBecause user identities are cluster-wide, pg_auth_members is shared across all databases of a cluster: there is only one copy of pg_auth_members per cluster, not one per database.","columns":[{"name":"roleid","type":"oid","description":"ID of a role that has a member","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"member","type":"oid","description":"ID of a role that is a member of roleid","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"grantor","type":"oid","description":"ID of the role that granted this membership","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"admin_option","type":"boolean","description":"True if member can grant membership in roleid to others","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-auth-members.html","source_path":"sources/postgresql/13/catalog-pg-auth-members.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_auth_members.h","definition_source_path":"sources/postgresql/13/source/pg_auth_members.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1261,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_auth_members shows the membership relations between roles. Any non-circular set of relationships is allowed.\n\nBecause user identities are cluster-wide, pg_auth_members is shared across all databases of a cluster: there is only one copy of pg_auth_members per cluster, not one per database.","columns":[{"name":"roleid","type":"oid","description":"ID of a role that has a member","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"member","type":"oid","description":"ID of a role that is a member of roleid","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"grantor","type":"oid","description":"ID of the role that granted this membership","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"admin_option","type":"boolean","description":"True if member can grant membership in roleid to others","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-auth-members.html","source_path":"sources/postgresql/14/catalog-pg-auth-members.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_auth_members.h","definition_source_path":"sources/postgresql/14/source/pg_auth_members.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1261,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_auth_members shows the membership relations between roles. Any non-circular set of relationships is allowed.\n\nBecause user identities are cluster-wide, pg_auth_members is shared across all databases of a cluster: there is only one copy of pg_auth_members per cluster, not one per database.","columns":[{"name":"roleid","type":"oid","description":"ID of a role that has a member","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"member","type":"oid","description":"ID of a role that is a member of roleid","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"grantor","type":"oid","description":"ID of the role that granted this membership","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"admin_option","type":"boolean","description":"True if member can grant membership in roleid to others","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-auth-members.html","source_path":"sources/postgresql/15/catalog-pg-auth-members.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_auth_members.h","definition_source_path":"sources/postgresql/15/source/pg_auth_members.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1261,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_auth_members shows the membership relations between roles. Any non-circular set of relationships is allowed.\n\nBecause user identities are cluster-wide, pg_auth_members is shared across all databases of a cluster: there is only one copy of pg_auth_members per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"roleid","type":"oid","description":"ID of a role that has a member","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"member","type":"oid","description":"ID of a role that is a member of roleid","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"grantor","type":"oid","description":"ID of the role that granted this membership","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"admin_option","type":"boolean","description":"True if member can grant membership in roleid to others","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inherit_option","type":"boolean","description":"True if the member automatically inherits the privileges of the granted role","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"set_option","type":"boolean","description":"True if the member can SET ROLE to the granted role","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-auth-members.html","source_path":"sources/postgresql/16/catalog-pg-auth-members.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_auth_members.h","definition_source_path":"sources/postgresql/16/source/pg_auth_members.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1261,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_auth_members shows the membership relations between roles. Any non-circular set of relationships is allowed.\n\nBecause user identities are cluster-wide, pg_auth_members is shared across all databases of a cluster: there is only one copy of pg_auth_members per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"roleid","type":"oid","description":"ID of a role that has a member","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"member","type":"oid","description":"ID of a role that is a member of roleid","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"grantor","type":"oid","description":"ID of the role that granted this membership","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"admin_option","type":"boolean","description":"True if member can grant membership in roleid to others","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inherit_option","type":"boolean","description":"True if the member automatically inherits the privileges of the granted role","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"set_option","type":"boolean","description":"True if the member can SET ROLE to the granted role","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-auth-members.html","source_path":"sources/postgresql/17/catalog-pg-auth-members.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_auth_members.h","definition_source_path":"sources/postgresql/17/source/pg_auth_members.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1261,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_auth_members shows the membership relations between roles. Any non-circular set of relationships is allowed.\n\nBecause user identities are cluster-wide, pg_auth_members is shared across all databases of a cluster: there is only one copy of pg_auth_members per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"roleid","type":"oid","description":"ID of a role that has a member","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"member","type":"oid","description":"ID of a role that is a member of roleid","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"grantor","type":"oid","description":"ID of the role that granted this membership","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"admin_option","type":"boolean","description":"True if member can grant membership in roleid to others","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inherit_option","type":"boolean","description":"True if the member automatically inherits the privileges of the granted role","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"set_option","type":"boolean","description":"True if the member can SET ROLE to the granted role","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-auth-members.html","source_path":"sources/postgresql/18/catalog-pg-auth-members.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_auth_members.h","definition_source_path":"sources/postgresql/18/source/pg_auth_members.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1261,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_auth_members shows the membership relations between roles. Any non-circular set of relationships is allowed.\n\nBecause user identities are cluster-wide, pg_auth_members is shared across all databases of a cluster: there is only one copy of pg_auth_members per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"roleid","type":"oid","description":"ID of a role that has a member","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"member","type":"oid","description":"ID of a role that is a member of roleid","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"grantor","type":"oid","description":"ID of the role that granted this membership","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"admin_option","type":"boolean","description":"True if member can grant membership in roleid to others","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inherit_option","type":"boolean","description":"True if the member automatically inherits the privileges of the granted role","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"set_option","type":"boolean","description":"True if the member can SET ROLE to the granted role","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-auth-members.html","source_path":"sources/postgresql/19/catalog-pg-auth-members.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_auth_members.h","definition_source_path":"sources/postgresql/19/source/pg_auth_members.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1261,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"15","to":"16","status":"changed","added_columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inherit_option","type":"boolean","description":"True if the member automatically inherits the privileges of the granted role","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"set_option","type":"boolean","description":"True if the member can SET ROLE to the granted role","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_authid","kind":"catalog","summary":"authorization identifiers (roles)","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of \"users\" and \"groups\". A user is essentially just a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) can have other roles as members; see pg_auth_members.\n\nSince this catalog contains passwords, it must not be publicly readable. pg_roles is a publicly readable view on pg_authid that blanks out the password field.\n\nChapter 20 contains detailed information about user and privilege management.\n\nBecause user identities are cluster-wide, pg_authid is shared across all databases of a cluster: there is only one copy of pg_authid per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_authid.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcatupdate","type":"boolean","description":"Role can update system catalogs directly. (Even a superuser cannot do this unless this column is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolpassword","type":"text","description":"Password (possibly encrypted); null if none. If the password is encrypted, this column will contain the string md5 followed by a 32-character hexadecimal MD5 hash. The MD5 hash will be of the user's password concatenated to their username (for example, if user joe has password xyzzy, PostgreSQL will store the md5 hash of xyzzyjoe).","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-authid.html","source_path":"sources/postgresql/9.0/catalog-pg-authid.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_authid.h","definition_source_path":"sources/postgresql/9.0/source/pg_authid.h","source_column_count":11,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1260,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of \"users\" and \"groups\". A user is essentially just a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) can have other roles as members; see pg_auth_members.\n\nSince this catalog contains passwords, it must not be publicly readable. pg_roles is a publicly readable view on pg_authid that blanks out the password field.\n\nChapter 20 contains detailed information about user and privilege management.\n\nBecause user identities are cluster-wide, pg_authid is shared across all databases of a cluster: there is only one copy of pg_authid per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_authid.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcatupdate","type":"boolean","description":"Role can update system catalogs directly. (Even a superuser cannot do this unless this column is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. That is, this role can initiate streaming replication (see Section 25.2.5) and set/unset the system backup mode using pg_start_backup and pg_stop_backup","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolpassword","type":"text","description":"Password (possibly encrypted); null if none. If the password is encrypted, this column will begin with the string md5 followed by a 32-character hexadecimal MD5 hash. The MD5 hash will be of the user's password concatenated to their user name. For example, if user joe has password xyzzy, PostgreSQL will store the md5 hash of xyzzyjoe. A password that does not follow that format is assumed to be unencrypted.","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-authid.html","source_path":"sources/postgresql/9.1/catalog-pg-authid.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_authid.h","definition_source_path":"sources/postgresql/9.1/source/pg_authid.h","source_column_count":12,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1260,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of \"users\" and \"groups\". A user is essentially just a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) can have other roles as members; see pg_auth_members.\n\nSince this catalog contains passwords, it must not be publicly readable. pg_roles is a publicly readable view on pg_authid that blanks out the password field.\n\nChapter 20 contains detailed information about user and privilege management.\n\nBecause user identities are cluster-wide, pg_authid is shared across all databases of a cluster: there is only one copy of pg_authid per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_authid.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcatupdate","type":"boolean","description":"Role can update system catalogs directly. (Even a superuser cannot do this unless this column is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. That is, this role can initiate streaming replication (see Section 25.2.5) and set/unset the system backup mode using pg_start_backup and pg_stop_backup","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolpassword","type":"text","description":"Password (possibly encrypted); null if none. If the password is encrypted, this column will begin with the string md5 followed by a 32-character hexadecimal MD5 hash. The MD5 hash will be of the user's password concatenated to their user name. For example, if user joe has password xyzzy, PostgreSQL will store the md5 hash of xyzzyjoe. A password that does not follow that format is assumed to be unencrypted.","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-authid.html","source_path":"sources/postgresql/9.2/catalog-pg-authid.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_authid.h","definition_source_path":"sources/postgresql/9.2/source/pg_authid.h","source_column_count":12,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1260,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of \"users\" and \"groups\". A user is essentially just a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) can have other roles as members; see pg_auth_members.\n\nSince this catalog contains passwords, it must not be publicly readable. pg_roles is a publicly readable view on pg_authid that blanks out the password field.\n\nChapter 20 contains detailed information about user and privilege management.\n\nBecause user identities are cluster-wide, pg_authid is shared across all databases of a cluster: there is only one copy of pg_authid per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcatupdate","type":"boolean","description":"Role can update system catalogs directly. (Even a superuser cannot do this unless this column is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. That is, this role can initiate streaming replication (see Section 25.2.5) and set/unset the system backup mode using pg_start_backup and pg_stop_backup","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolpassword","type":"text","description":"Password (possibly encrypted); null if none. If the password is encrypted, this column will begin with the string md5 followed by a 32-character hexadecimal MD5 hash. The MD5 hash will be of the user's password concatenated to their user name. For example, if user joe has password xyzzy, PostgreSQL will store the md5 hash of xyzzyjoe. A password that does not follow that format is assumed to be unencrypted.","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-authid.html","source_path":"sources/postgresql/9.3/catalog-pg-authid.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_authid.h","definition_source_path":"sources/postgresql/9.3/source/pg_authid.h","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":1260,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of \"users\" and \"groups\". A user is essentially just a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) can have other roles as members; see pg_auth_members.\n\nSince this catalog contains passwords, it must not be publicly readable. pg_roles is a publicly readable view on pg_authid that blanks out the password field.\n\nChapter 20 contains detailed information about user and privilege management.\n\nBecause user identities are cluster-wide, pg_authid is shared across all databases of a cluster: there is only one copy of pg_authid per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcatupdate","type":"boolean","description":"Role can update system catalogs directly. (Even a superuser cannot do this unless this column is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. That is, this role can initiate streaming replication (see Section 25.2.5) and set/unset the system backup mode using pg_start_backup and pg_stop_backup","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolpassword","type":"text","description":"Password (possibly encrypted); null if none. If the password is encrypted, this column will begin with the string md5 followed by a 32-character hexadecimal MD5 hash. The MD5 hash will be of the user's password concatenated to their user name. For example, if user joe has password xyzzy, PostgreSQL will store the md5 hash of xyzzyjoe. A password that does not follow that format is assumed to be unencrypted.","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-authid.html","source_path":"sources/postgresql/9.4/catalog-pg-authid.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_authid.h","definition_source_path":"sources/postgresql/9.4/source/pg_authid.h","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":1260,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of \"users\" and \"groups\". A user is essentially just a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) can have other roles as members; see pg_auth_members.\n\nSince this catalog contains passwords, it must not be publicly readable. pg_roles is a publicly readable view on pg_authid that blanks out the password field.\n\nChapter 20 contains detailed information about user and privilege management.\n\nBecause user identities are cluster-wide, pg_authid is shared across all databases of a cluster: there is only one copy of pg_authid per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. That is, this role can initiate streaming replication (see Section 25.2.5) and set/unset the system backup mode using pg_start_backup and pg_stop_backup","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row level security policy, see Section 5.7 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolpassword","type":"text","description":"Password (possibly encrypted); null if none. If the password is encrypted, this column will begin with the string md5 followed by a 32-character hexadecimal MD5 hash. The MD5 hash will be of the user's password concatenated to their user name. For example, if user joe has password xyzzy, PostgreSQL will store the md5 hash of xyzzyjoe. A password that does not follow that format is assumed to be unencrypted.","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-authid.html","source_path":"sources/postgresql/9.5/catalog-pg-authid.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_authid.h","definition_source_path":"sources/postgresql/9.5/source/pg_authid.h","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":1260,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of \"users\" and \"groups\". A user is essentially just a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) can have other roles as members; see pg_auth_members.\n\nSince this catalog contains passwords, it must not be publicly readable. pg_roles is a publicly readable view on pg_authid that blanks out the password field.\n\nChapter 21 contains detailed information about user and privilege management.\n\nBecause user identities are cluster-wide, pg_authid is shared across all databases of a cluster: there is only one copy of pg_authid per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row level security policy, see Section 5.7 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolpassword","type":"text","description":"Password (possibly encrypted); null if none. If the password is encrypted, this column will begin with the string md5 followed by a 32-character hexadecimal MD5 hash. The MD5 hash will be of the user's password concatenated to their user name. For example, if user joe has password xyzzy, PostgreSQL will store the md5 hash of xyzzyjoe. A password that does not follow that format is assumed to be unencrypted.","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-authid.html","source_path":"sources/postgresql/9.6/catalog-pg-authid.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_authid.h","definition_source_path":"sources/postgresql/9.6/source/pg_authid.h","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":1260,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of “users” and “groups”. A user is essentially just a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) can have other roles as members; see pg_auth_members.\n\nSince this catalog contains passwords, it must not be publicly readable. pg_roles is a publicly readable view on pg_authid that blanks out the password field.\n\nChapter 21 contains detailed information about user and privilege management.\n\nBecause user identities are cluster-wide, pg_authid is shared across all databases of a cluster: there is only one copy of pg_authid per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row level security policy, see Section 5.7 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolpassword","type":"text","description":"Password (possibly encrypted); null if none. The format depends on the form of encryption used.","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-authid.html","source_path":"sources/postgresql/10/catalog-pg-authid.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_authid.h","definition_source_path":"sources/postgresql/10/source/pg_authid.h","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":1260,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of “users” and “groups”. A user is essentially just a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) can have other roles as members; see pg_auth_members.\n\nSince this catalog contains passwords, it must not be publicly readable. pg_roles is a publicly readable view on pg_authid that blanks out the password field.\n\nChapter 21 contains detailed information about user and privilege management.\n\nBecause user identities are cluster-wide, pg_authid is shared across all databases of a cluster: there is only one copy of pg_authid per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row level security policy, see Section 5.7 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolpassword","type":"text","description":"Password (possibly encrypted); null if none. The format depends on the form of encryption used.","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-authid.html","source_path":"sources/postgresql/11/catalog-pg-authid.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_authid.h","definition_source_path":"sources/postgresql/11/source/pg_authid.h","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":1260,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of “users” and “groups”. A user is essentially just a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) can have other roles as members; see pg_auth_members.\n\nSince this catalog contains passwords, it must not be publicly readable. pg_roles is a publicly readable view on pg_authid that blanks out the password field.\n\nChapter 21 contains detailed information about user and privilege management.\n\nBecause user identities are cluster-wide, pg_authid is shared across all databases of a cluster: there is only one copy of pg_authid per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row level security policy, see Section 5.8 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolpassword","type":"text","description":"Password (possibly encrypted); null if none. The format depends on the form of encryption used.","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-authid.html","source_path":"sources/postgresql/12/catalog-pg-authid.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_authid.h","definition_source_path":"sources/postgresql/12/source/pg_authid.h","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":1260,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of “users” and “groups”. A user is essentially just a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) can have other roles as members; see pg_auth_members.\n\nSince this catalog contains passwords, it must not be publicly readable. pg_roles is a publicly readable view on pg_authid that blanks out the password field.\n\nChapter 21 contains detailed information about user and privilege management.\n\nBecause user identities are cluster-wide, pg_authid is shared across all databases of a cluster: there is only one copy of pg_authid per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row level security policy, see Section 5.8 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolpassword","type":"text","description":"Encrypted password; null if none. The format depends on the form of encryption used.","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-authid.html","source_path":"sources/postgresql/13/catalog-pg-authid.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_authid.h","definition_source_path":"sources/postgresql/13/source/pg_authid.h","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":1260,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of “users” and “groups”. A user is essentially just a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) can have other roles as members; see pg_auth_members.\n\nSince this catalog contains passwords, it must not be publicly readable. pg_roles is a publicly readable view on pg_authid that blanks out the password field.\n\nChapter 22 contains detailed information about user and privilege management.\n\nBecause user identities are cluster-wide, pg_authid is shared across all databases of a cluster: there is only one copy of pg_authid per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row-level security policy, see Section 5.8 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolpassword","type":"text","description":"Encrypted password; null if none. The format depends on the form of encryption used.","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-authid.html","source_path":"sources/postgresql/14/catalog-pg-authid.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_authid.h","definition_source_path":"sources/postgresql/14/source/pg_authid.h","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":1260,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of “users” and “groups”. A user is essentially just a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) can have other roles as members; see pg_auth_members.\n\nSince this catalog contains passwords, it must not be publicly readable. pg_roles is a publicly readable view on pg_authid that blanks out the password field.\n\nChapter 22 contains detailed information about user and privilege management.\n\nBecause user identities are cluster-wide, pg_authid is shared across all databases of a cluster: there is only one copy of pg_authid per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row-level security policy, see Section 5.8 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolpassword","type":"text","description":"Encrypted password; null if none. The format depends on the form of encryption used.","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-authid.html","source_path":"sources/postgresql/15/catalog-pg-authid.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_authid.h","definition_source_path":"sources/postgresql/15/source/pg_authid.h","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":1260,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of “users” and “groups”. A user is essentially just a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) can have other roles as members; see pg_auth_members.\n\nSince this catalog contains passwords, it must not be publicly readable. pg_roles is a publicly readable view on pg_authid that blanks out the password field.\n\nChapter 22 contains detailed information about user and privilege management.\n\nBecause user identities are cluster-wide, pg_authid is shared across all databases of a cluster: there is only one copy of pg_authid per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row-level security policy, see Section 5.8 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolpassword","type":"text","description":"Encrypted password; null if none. The format depends on the form of encryption used.","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-authid.html","source_path":"sources/postgresql/16/catalog-pg-authid.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_authid.h","definition_source_path":"sources/postgresql/16/source/pg_authid.h","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":1260,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of “users” and “groups”. A user is essentially just a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) can have other roles as members; see pg_auth_members.\n\nSince this catalog contains passwords, it must not be publicly readable. pg_roles is a publicly readable view on pg_authid that blanks out the password field.\n\nChapter 21 contains detailed information about user and privilege management.\n\nBecause user identities are cluster-wide, pg_authid is shared across all databases of a cluster: there is only one copy of pg_authid per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row-level security policy, see Section 5.9 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolpassword","type":"text","description":"Encrypted password; null if none. The format depends on the form of encryption used.","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-authid.html","source_path":"sources/postgresql/17/catalog-pg-authid.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_authid.h","definition_source_path":"sources/postgresql/17/source/pg_authid.h","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":1260,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of “users” and “groups”. A user is essentially just a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) can have other roles as members; see pg_auth_members.\n\nSince this catalog contains passwords, it must not be publicly readable. pg_roles is a publicly readable view on pg_authid that blanks out the password field.\n\nChapter 21 contains detailed information about user and privilege management.\n\nBecause user identities are cluster-wide, pg_authid is shared across all databases of a cluster: there is only one copy of pg_authid per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row-level security policy, see Section 5.9 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolpassword","type":"text","description":"Encrypted password; null if none. The format depends on the form of encryption used.","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-authid.html","source_path":"sources/postgresql/18/catalog-pg-authid.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_authid.h","definition_source_path":"sources/postgresql/18/source/pg_authid.h","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":1260,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of “users” and “groups”. A user is essentially just a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) can have other roles as members; see pg_auth_members.\n\nSince this catalog contains passwords, it must not be publicly readable. pg_roles is a publicly readable view on pg_authid that blanks out the password field.\n\nChapter 21 contains detailed information about user and privilege management.\n\nBecause user identities are cluster-wide, pg_authid is shared across all databases of a cluster: there is only one copy of pg_authid per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row-level security policy, see Section 5.10 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rolpassword","type":"text","description":"Encrypted password; null if none. The format depends on the form of encryption used.","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-authid.html","source_path":"sources/postgresql/19/catalog-pg-authid.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_authid.h","definition_source_path":"sources/postgresql/19/source/pg_authid.h","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":1260,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[{"name":"rolreplication","type":"boolean","description":"Role is a replication role. That is, this role can initiate streaming replication (see Section 25.2.5) and set/unset the system backup mode using pg_start_backup and pg_stop_backup","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"rolpassword","from":"Password (possibly encrypted); null if none. If the password is encrypted, this column will contain the string md5 followed by a 32-character hexadecimal MD5 hash. The MD5 hash will be of the user's password concatenated to their username (for example, if user joe has password xyzzy, PostgreSQL will store the md5 hash of xyzzyjoe).","to":"Password (possibly encrypted); null if none. If the password is encrypted, this column will begin with the string md5 followed by a 32-character hexadecimal MD5 hash. The MD5 hash will be of the user's password concatenated to their user name. For example, if user joe has password xyzzy, PostgreSQL will store the md5 hash of xyzzyjoe. A password that does not follow that format is assumed to be unencrypted."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row level security policy, see Section 5.7 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[{"name":"rolcatupdate","type":"boolean","description":"Role can update system catalogs directly. (Even a superuser cannot do this unless this column is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"type_changes":[],"description_changes":[{"name":"rolcanlogin","from":"Role can log in. That is, this role can be given as the initial session authorization identifier","to":"Role can log in. That is, this role can be given as the initial session authorization identifier."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"rolreplication","from":"Role is a replication role. That is, this role can initiate streaming replication (see Section 25.2.5) and set/unset the system backup mode using pg_start_backup and pg_stop_backup","to":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"rolpassword","from":"Password (possibly encrypted); null if none. If the password is encrypted, this column will begin with the string md5 followed by a 32-character hexadecimal MD5 hash. The MD5 hash will be of the user's password concatenated to their user name. For example, if user joe has password xyzzy, PostgreSQL will store the md5 hash of xyzzyjoe. A password that does not follow that format is assumed to be unencrypted.","to":"Password (possibly encrypted); null if none. The format depends on the form of encryption used."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"},{"name":"rolbypassrls","from":"Role bypasses every row level security policy, see Section 5.7 for more information.","to":"Role bypasses every row level security policy, see Section 5.8 for more information."}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"rolpassword","from":"Password (possibly encrypted); null if none. The format depends on the form of encryption used.","to":"Encrypted password; null if none. The format depends on the form of encryption used."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"rolbypassrls","from":"Role bypasses every row level security policy, see Section 5.8 for more information.","to":"Role bypasses every row-level security policy, see Section 5.8 for more information."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"rolbypassrls","from":"Role bypasses every row-level security policy, see Section 5.8 for more information.","to":"Role bypasses every row-level security policy, see Section 5.9 for more information."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"rolbypassrls","from":"Role bypasses every row-level security policy, see Section 5.9 for more information.","to":"Role bypasses every row-level security policy, see Section 5.10 for more information."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_available_extension_versions","kind":"view","summary":"The pg_available_extension_versions view lists the specific extension versions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","first_version":"9.1","last_version":"19","versions":{"9.1":{"description":"The pg_available_extension_versions view lists the specific extension versions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed","type":"boolean","description":"True if this version of this extension is currently installed","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"superuser","type":"boolean","description":"True if only superusers are allowed to install this extension","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schema","type":"name","description":"Name of the schema that the extension must be installed into, or NULL if partially or fully relocatable","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"requires","type":"name[]","description":"Names of prerequisite extensions, or NULL if none","hidden":false,"type_oid":1003,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/view-pg-available-extension-versions.html","source_path":"sources/postgresql/9.1/view-pg-available-extension-versions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11009,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The pg_available_extension_versions view lists the specific extension versions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed","type":"boolean","description":"True if this version of this extension is currently installed","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"superuser","type":"boolean","description":"True if only superusers are allowed to install this extension","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schema","type":"name","description":"Name of the schema that the extension must be installed into, or NULL if partially or fully relocatable","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"requires","type":"name[]","description":"Names of prerequisite extensions, or NULL if none","hidden":false,"type_oid":1003,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/view-pg-available-extension-versions.html","source_path":"sources/postgresql/9.2/view-pg-available-extension-versions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11078,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The pg_available_extension_versions view lists the specific extension versions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed","type":"boolean","description":"True if this version of this extension is currently installed","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"superuser","type":"boolean","description":"True if only superusers are allowed to install this extension","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schema","type":"name","description":"Name of the schema that the extension must be installed into, or NULL if partially or fully relocatable","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"requires","type":"name[]","description":"Names of prerequisite extensions, or NULL if none","hidden":false,"type_oid":1003,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-available-extension-versions.html","source_path":"sources/postgresql/9.3/view-pg-available-extension-versions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11099,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The pg_available_extension_versions view lists the specific extension versions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed","type":"boolean","description":"True if this version of this extension is currently installed","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"superuser","type":"boolean","description":"True if only superusers are allowed to install this extension","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schema","type":"name","description":"Name of the schema that the extension must be installed into, or NULL if partially or fully relocatable","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"requires","type":"name[]","description":"Names of prerequisite extensions, or NULL if none","hidden":false,"type_oid":1003,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-available-extension-versions.html","source_path":"sources/postgresql/9.4/view-pg-available-extension-versions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11196,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The pg_available_extension_versions view lists the specific extension versions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed","type":"boolean","description":"True if this version of this extension is currently installed","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"superuser","type":"boolean","description":"True if only superusers are allowed to install this extension","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schema","type":"name","description":"Name of the schema that the extension must be installed into, or NULL if partially or fully relocatable","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"requires","type":"name[]","description":"Names of prerequisite extensions, or NULL if none","hidden":false,"type_oid":1003,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-available-extension-versions.html","source_path":"sources/postgresql/9.5/view-pg-available-extension-versions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11682,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The pg_available_extension_versions view lists the specific extension versions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed","type":"boolean","description":"True if this version of this extension is currently installed","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"superuser","type":"boolean","description":"True if only superusers are allowed to install this extension","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schema","type":"name","description":"Name of the schema that the extension must be installed into, or NULL if partially or fully relocatable","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"requires","type":"name[]","description":"Names of prerequisite extensions, or NULL if none","hidden":false,"type_oid":1003,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-available-extension-versions.html","source_path":"sources/postgresql/9.6/view-pg-available-extension-versions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11704,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The pg_available_extension_versions view lists the specific extension versions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed","type":"boolean","description":"True if this version of this extension is currently installed","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"superuser","type":"boolean","description":"True if only superusers are allowed to install this extension","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schema","type":"name","description":"Name of the schema that the extension must be installed into, or NULL if partially or fully relocatable","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"requires","type":"name[]","description":"Names of prerequisite extensions, or NULL if none","hidden":false,"type_oid":1003,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-available-extension-versions.html","source_path":"sources/postgresql/10/view-pg-available-extension-versions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11586,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The pg_available_extension_versions view lists the specific extension versions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed","type":"boolean","description":"True if this version of this extension is currently installed","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"superuser","type":"boolean","description":"True if only superusers are allowed to install this extension","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schema","type":"name","description":"Name of the schema that the extension must be installed into, or NULL if partially or fully relocatable","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"requires","type":"name[]","description":"Names of prerequisite extensions, or NULL if none","hidden":false,"type_oid":1003,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-available-extension-versions.html","source_path":"sources/postgresql/11/view-pg-available-extension-versions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11654,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The pg_available_extension_versions view lists the specific extension versions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed","type":"boolean","description":"True if this version of this extension is currently installed","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"superuser","type":"boolean","description":"True if only superusers are allowed to install this extension","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schema","type":"name","description":"Name of the schema that the extension must be installed into, or NULL if partially or fully relocatable","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"requires","type":"name[]","description":"Names of prerequisite extensions, or NULL if none","hidden":false,"type_oid":1003,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-available-extension-versions.html","source_path":"sources/postgresql/12/view-pg-available-extension-versions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12152,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_available_extension_versions view lists the specific extension versions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed","type":"boolean","description":"True if this version of this extension is currently installed","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"superuser","type":"boolean","description":"True if only superusers are allowed to install this extension (but see trusted)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"trusted","type":"boolean","description":"True if the extension can be installed by non-superusers with appropriate privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schema","type":"name","description":"Name of the schema that the extension must be installed into, or NULL if partially or fully relocatable","hidden":false,"type_oid":19,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"requires","type":"name[]","description":"Names of prerequisite extensions, or NULL if none","hidden":false,"type_oid":1003,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-available-extension-versions.html","source_path":"sources/postgresql/13/view-pg-available-extension-versions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12150,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_available_extension_versions view lists the specific extension versions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed","type":"boolean","description":"True if this version of this extension is currently installed","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"superuser","type":"boolean","description":"True if only superusers are allowed to install this extension (but see trusted)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"trusted","type":"boolean","description":"True if the extension can be installed by non-superusers with appropriate privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schema","type":"name","description":"Name of the schema that the extension must be installed into, or NULL if partially or fully relocatable","hidden":false,"type_oid":19,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"requires","type":"name[]","description":"Names of prerequisite extensions, or NULL if none","hidden":false,"type_oid":1003,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-available-extension-versions.html","source_path":"sources/postgresql/14/view-pg-available-extension-versions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12302,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_available_extension_versions view lists the specific extension versions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed","type":"boolean","description":"True if this version of this extension is currently installed","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"superuser","type":"boolean","description":"True if only superusers are allowed to install this extension (but see trusted)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"trusted","type":"boolean","description":"True if the extension can be installed by non-superusers with appropriate privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schema","type":"name","description":"Name of the schema that the extension must be installed into, or NULL if partially or fully relocatable","hidden":false,"type_oid":19,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"requires","type":"name[]","description":"Names of prerequisite extensions, or NULL if none","hidden":false,"type_oid":1003,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-available-extension-versions.html","source_path":"sources/postgresql/15/view-pg-available-extension-versions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12085,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_available_extension_versions view lists the specific extension versions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed","type":"boolean","description":"True if this version of this extension is currently installed","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"superuser","type":"boolean","description":"True if only superusers are allowed to install this extension (but see trusted)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"trusted","type":"boolean","description":"True if the extension can be installed by non-superusers with appropriate privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schema","type":"name","description":"Name of the schema that the extension must be installed into, or NULL if partially or fully relocatable","hidden":false,"type_oid":19,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"requires","type":"name[]","description":"Names of prerequisite extensions, or NULL if none","hidden":false,"type_oid":1003,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-available-extension-versions.html","source_path":"sources/postgresql/16/view-pg-available-extension-versions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12085,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_available_extension_versions view lists the specific extension versions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed","type":"boolean","description":"True if this version of this extension is currently installed","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"superuser","type":"boolean","description":"True if only superusers are allowed to install this extension (but see trusted)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"trusted","type":"boolean","description":"True if the extension can be installed by non-superusers with appropriate privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schema","type":"name","description":"Name of the schema that the extension must be installed into, or NULL if partially or fully relocatable","hidden":false,"type_oid":19,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"requires","type":"name[]","description":"Names of prerequisite extensions, or NULL if none","hidden":false,"type_oid":1003,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-available-extension-versions.html","source_path":"sources/postgresql/17/view-pg-available-extension-versions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12085,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_available_extension_versions view lists the specific extension versions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed","type":"boolean","description":"True if this version of this extension is currently installed","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"superuser","type":"boolean","description":"True if only superusers are allowed to install this extension (but see trusted)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"trusted","type":"boolean","description":"True if the extension can be installed by non-superusers with appropriate privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schema","type":"name","description":"Name of the schema that the extension must be installed into, or NULL if partially or fully relocatable","hidden":false,"type_oid":19,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"requires","type":"name[]","description":"Names of prerequisite extensions, or NULL if none","hidden":false,"type_oid":1003,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-available-extension-versions.html","source_path":"sources/postgresql/18/view-pg-available-extension-versions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12085,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_available_extension_versions view lists the specific extension versions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed","type":"boolean","description":"True if this version of this extension is currently installed","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"superuser","type":"boolean","description":"True if only superusers are allowed to install this extension (but see trusted)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"trusted","type":"boolean","description":"True if the extension can be installed by non-superusers with appropriate privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schema","type":"name","description":"Name of the schema that the extension must be installed into, or NULL if partially or fully relocatable","hidden":false,"type_oid":19,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"requires","type":"name[]","description":"Names of prerequisite extensions, or NULL if none","hidden":false,"type_oid":1003,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"location","type":"text","description":"The location where the extension is installed. If it is in the standard system location, then the value will be $system, while if it is found in the path specified by the extension_control_path GUC then the full path will be shown. Only superusers can see this information.","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-available-extension-versions.html","source_path":"sources/postgresql/19/view-pg-available-extension-versions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12090,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"added","added_columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed","type":"boolean","description":"True if this version of this extension is currently installed","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"superuser","type":"boolean","description":"True if only superusers are allowed to install this extension","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schema","type":"name","description":"Name of the schema that the extension must be installed into, or NULL if partially or fully relocatable","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"requires","type":"name[]","description":"Names of prerequisite extensions, or NULL if none","hidden":false,"type_oid":1003,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"12","to":"13","status":"changed","added_columns":[{"name":"trusted","type":"boolean","description":"True if the extension can be installed by non-superusers with appropriate privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"superuser","from":"True if only superusers are allowed to install this extension","to":"True if only superusers are allowed to install this extension (but see trusted)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"location","type":"text","description":"The location where the extension is installed. If it is in the standard system location, then the value will be $system, while if it is found in the path specified by the extension_control_path GUC then the full path will be shown. Only superusers can see this information.","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_available_extensions","kind":"view","summary":"The pg_available_extensions view lists the extensions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","first_version":"9.1","last_version":"19","versions":{"9.1":{"description":"The pg_available_extensions view lists the extensions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"default_version","type":"text","description":"Name of default version, or NULL if none is specified","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed_version","type":"text","description":"Currently installed version of the extension, or NULL if not installed","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/view-pg-available-extensions.html","source_path":"sources/postgresql/9.1/view-pg-available-extensions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11006,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The pg_available_extensions view lists the extensions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"default_version","type":"text","description":"Name of default version, or NULL if none is specified","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed_version","type":"text","description":"Currently installed version of the extension, or NULL if not installed","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/view-pg-available-extensions.html","source_path":"sources/postgresql/9.2/view-pg-available-extensions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11075,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The pg_available_extensions view lists the extensions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"default_version","type":"text","description":"Name of default version, or NULL if none is specified","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed_version","type":"text","description":"Currently installed version of the extension, or NULL if not installed","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-available-extensions.html","source_path":"sources/postgresql/9.3/view-pg-available-extensions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11096,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The pg_available_extensions view lists the extensions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"default_version","type":"text","description":"Name of default version, or NULL if none is specified","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed_version","type":"text","description":"Currently installed version of the extension, or NULL if not installed","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-available-extensions.html","source_path":"sources/postgresql/9.4/view-pg-available-extensions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11193,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The pg_available_extensions view lists the extensions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"default_version","type":"text","description":"Name of default version, or NULL if none is specified","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed_version","type":"text","description":"Currently installed version of the extension, or NULL if not installed","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-available-extensions.html","source_path":"sources/postgresql/9.5/view-pg-available-extensions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11679,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The pg_available_extensions view lists the extensions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"default_version","type":"text","description":"Name of default version, or NULL if none is specified","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed_version","type":"text","description":"Currently installed version of the extension, or NULL if not installed","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-available-extensions.html","source_path":"sources/postgresql/9.6/view-pg-available-extensions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11701,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The pg_available_extensions view lists the extensions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"default_version","type":"text","description":"Name of default version, or NULL if none is specified","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed_version","type":"text","description":"Currently installed version of the extension, or NULL if not installed","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-available-extensions.html","source_path":"sources/postgresql/10/view-pg-available-extensions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11583,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The pg_available_extensions view lists the extensions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"default_version","type":"text","description":"Name of default version, or NULL if none is specified","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed_version","type":"text","description":"Currently installed version of the extension, or NULL if not installed","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-available-extensions.html","source_path":"sources/postgresql/11/view-pg-available-extensions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11651,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The pg_available_extensions view lists the extensions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"default_version","type":"text","description":"Name of default version, or NULL if none is specified","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed_version","type":"text","description":"Currently installed version of the extension, or NULL if not installed","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-available-extensions.html","source_path":"sources/postgresql/12/view-pg-available-extensions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12149,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_available_extensions view lists the extensions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"default_version","type":"text","description":"Name of default version, or NULL if none is specified","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed_version","type":"text","description":"Currently installed version of the extension, or NULL if not installed","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-available-extensions.html","source_path":"sources/postgresql/13/view-pg-available-extensions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12147,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_available_extensions view lists the extensions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"default_version","type":"text","description":"Name of default version, or NULL if none is specified","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed_version","type":"text","description":"Currently installed version of the extension, or NULL if not installed","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-available-extensions.html","source_path":"sources/postgresql/14/view-pg-available-extensions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12298,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_available_extensions view lists the extensions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"default_version","type":"text","description":"Name of default version, or NULL if none is specified","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed_version","type":"text","description":"Currently installed version of the extension, or NULL if not installed","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-available-extensions.html","source_path":"sources/postgresql/15/view-pg-available-extensions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12081,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_available_extensions view lists the extensions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"default_version","type":"text","description":"Name of default version, or NULL if none is specified","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed_version","type":"text","description":"Currently installed version of the extension, or NULL if not installed","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-available-extensions.html","source_path":"sources/postgresql/16/view-pg-available-extensions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12081,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_available_extensions view lists the extensions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"default_version","type":"text","description":"Name of default version, or NULL if none is specified","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed_version","type":"text","description":"Currently installed version of the extension, or NULL if not installed","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-available-extensions.html","source_path":"sources/postgresql/17/view-pg-available-extensions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12081,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_available_extensions view lists the extensions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"default_version","type":"text","description":"Name of default version, or NULL if none is specified","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed_version","type":"text","description":"Currently installed version of the extension, or NULL if not installed","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-available-extensions.html","source_path":"sources/postgresql/18/view-pg-available-extensions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12081,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_available_extensions view lists the extensions that are available for installation. See also the pg_extension catalog, which shows the extensions currently installed.","columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"default_version","type":"text","description":"Name of default version, or NULL if none is specified","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed_version","type":"text","description":"Currently installed version of the extension, or NULL if not installed","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"location","type":"text","description":"The location where the extension is installed. If it is in the standard system location, then the value will be $system, while if it is found in the path specified by the extension_control_path GUC then the full path will be shown. Only superusers can see this information.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-available-extensions.html","source_path":"sources/postgresql/19/view-pg-available-extensions.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12086,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"added","added_columns":[{"name":"name","type":"name","description":"Extension name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"default_version","type":"text","description":"Name of default version, or NULL if none is specified","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"installed_version","type":"text","description":"Currently installed version of the extension, or NULL if not installed","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"comment","type":"text","description":"Comment string from the extension's control file","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"location","type":"text","description":"The location where the extension is installed. If it is in the standard system location, then the value will be $system, while if it is found in the path specified by the extension_control_path GUC then the full path will be shown. Only superusers can see this information.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_backend_memory_contexts","kind":"view","summary":"The view pg_backend_memory_contexts displays all the memory contexts of the server process attached to the current session.","first_version":"14","last_version":"19","versions":{"14":{"description":"The view pg_backend_memory_contexts displays all the memory contexts of the server process attached to the current session.\n\npg_backend_memory_contexts contains one row for each memory context.","columns":[{"name":"name","type":"text","description":"Name of the memory context","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ident","type":"text","description":"Identification information of the memory context. This field is truncated at 1024 bytes","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parent","type":"text","description":"Name of the parent of this memory context","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"level","type":"integer","description":"Distance from TopMemoryContext in context tree","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_bytes","type":"bigint","description":"Total bytes allocated for this memory context","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_nblocks","type":"bigint","description":"Total number of blocks allocated for this memory context","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"free_bytes","type":"bigint","description":"Free space in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"free_chunks","type":"bigint","description":"Total number of free chunks","documented_type":"int8","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"used_bytes","type":"bigint","description":"Used space in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-backend-memory-contexts.html","source_path":"sources/postgresql/14/view-pg-backend-memory-contexts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12351,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_backend_memory_contexts displays all the memory contexts of the server process attached to the current session.\n\npg_backend_memory_contexts contains one row for each memory context.","columns":[{"name":"name","type":"text","description":"Name of the memory context","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ident","type":"text","description":"Identification information of the memory context. This field is truncated at 1024 bytes","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parent","type":"text","description":"Name of the parent of this memory context","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"level","type":"integer","description":"Distance from TopMemoryContext in context tree","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_bytes","type":"bigint","description":"Total bytes allocated for this memory context","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_nblocks","type":"bigint","description":"Total number of blocks allocated for this memory context","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"free_bytes","type":"bigint","description":"Free space in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"free_chunks","type":"bigint","description":"Total number of free chunks","documented_type":"int8","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"used_bytes","type":"bigint","description":"Used space in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-backend-memory-contexts.html","source_path":"sources/postgresql/15/view-pg-backend-memory-contexts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12138,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_backend_memory_contexts displays all the memory contexts of the server process attached to the current session.\n\npg_backend_memory_contexts contains one row for each memory context.","columns":[{"name":"name","type":"text","description":"Name of the memory context","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ident","type":"text","description":"Identification information of the memory context. This field is truncated at 1024 bytes","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parent","type":"text","description":"Name of the parent of this memory context","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"level","type":"integer","description":"Distance from TopMemoryContext in context tree","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_bytes","type":"bigint","description":"Total bytes allocated for this memory context","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_nblocks","type":"bigint","description":"Total number of blocks allocated for this memory context","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"free_bytes","type":"bigint","description":"Free space in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"free_chunks","type":"bigint","description":"Total number of free chunks","documented_type":"int8","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"used_bytes","type":"bigint","description":"Used space in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-backend-memory-contexts.html","source_path":"sources/postgresql/16/view-pg-backend-memory-contexts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12138,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_backend_memory_contexts displays all the memory contexts of the server process attached to the current session.\n\npg_backend_memory_contexts contains one row for each memory context.","columns":[{"name":"name","type":"text","description":"Name of the memory context","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ident","type":"text","description":"Identification information of the memory context. This field is truncated at 1024 bytes","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parent","type":"text","description":"Name of the parent of this memory context","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"level","type":"integer","description":"Distance from TopMemoryContext in context tree","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_bytes","type":"bigint","description":"Total bytes allocated for this memory context","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_nblocks","type":"bigint","description":"Total number of blocks allocated for this memory context","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"free_bytes","type":"bigint","description":"Free space in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"free_chunks","type":"bigint","description":"Total number of free chunks","documented_type":"int8","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"used_bytes","type":"bigint","description":"Used space in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-backend-memory-contexts.html","source_path":"sources/postgresql/17/view-pg-backend-memory-contexts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12138,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_backend_memory_contexts displays all the memory contexts of the server process attached to the current session.\n\npg_backend_memory_contexts contains one row for each memory context.","columns":[{"name":"name","type":"text","description":"Name of the memory context","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ident","type":"text","description":"Identification information of the memory context. This field is truncated at 1024 bytes","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"Type of the memory context","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"level","type":"integer","description":"The 1-based level of the context in the memory context hierarchy. The level of a context also shows the position of that context in the path column.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"path","type":"integer[]","description":"Array of transient numerical identifiers to describe the memory context hierarchy. The first element is for TopMemoryContext, subsequent elements contain intermediate parents and the final element contains the identifier for the current context.","documented_type":"int4[]","hidden":false,"type_oid":1007,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_bytes","type":"bigint","description":"Total bytes allocated for this memory context","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_nblocks","type":"bigint","description":"Total number of blocks allocated for this memory context","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"free_bytes","type":"bigint","description":"Free space in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"free_chunks","type":"bigint","description":"Total number of free chunks","documented_type":"int8","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"used_bytes","type":"bigint","description":"Used space in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-backend-memory-contexts.html","source_path":"sources/postgresql/18/view-pg-backend-memory-contexts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12142,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_backend_memory_contexts displays all the memory contexts of the server process attached to the current session.\n\npg_backend_memory_contexts contains one row for each memory context.","columns":[{"name":"name","type":"text","description":"Name of the memory context","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ident","type":"text","description":"Identification information of the memory context. This field is truncated at 1024 bytes","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"Type of the memory context","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"level","type":"integer","description":"The 1-based level of the context in the memory context hierarchy. The level of a context also shows the position of that context in the path column.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"path","type":"integer[]","description":"Array of transient numerical identifiers to describe the memory context hierarchy. The first element is for TopMemoryContext, subsequent elements contain intermediate parents and the final element contains the identifier for the current context.","documented_type":"int4[]","hidden":false,"type_oid":1007,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_bytes","type":"bigint","description":"Total bytes allocated for this memory context","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_nblocks","type":"bigint","description":"Total number of blocks allocated for this memory context","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"free_bytes","type":"bigint","description":"Free space in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"free_chunks","type":"bigint","description":"Total number of free chunks","documented_type":"int8","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"used_bytes","type":"bigint","description":"Used space in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-backend-memory-contexts.html","source_path":"sources/postgresql/19/view-pg-backend-memory-contexts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12151,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"13","to":"14","status":"added","added_columns":[{"name":"name","type":"text","description":"Name of the memory context","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ident","type":"text","description":"Identification information of the memory context. This field is truncated at 1024 bytes","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parent","type":"text","description":"Name of the parent of this memory context","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"level","type":"integer","description":"Distance from TopMemoryContext in context tree","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_bytes","type":"bigint","description":"Total bytes allocated for this memory context","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_nblocks","type":"bigint","description":"Total number of blocks allocated for this memory context","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"free_bytes","type":"bigint","description":"Free space in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"free_chunks","type":"bigint","description":"Total number of free chunks","documented_type":"int8","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"used_bytes","type":"bigint","description":"Used space in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"17","to":"18","status":"changed","added_columns":[{"name":"type","type":"text","description":"Type of the memory context","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"path","type":"integer[]","description":"Array of transient numerical identifiers to describe the memory context hierarchy. The first element is for TopMemoryContext, subsequent elements contain intermediate parents and the final element contains the identifier for the current context.","documented_type":"int4[]","hidden":false,"type_oid":1007,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[{"name":"parent","type":"text","description":"Name of the parent of this memory context","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[{"name":"level","from":"Distance from TopMemoryContext in context tree","to":"The 1-based level of the context in the memory context hierarchy. The level of a context also shows the position of that context in the path column."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_cast","kind":"catalog","summary":"casts (data type conversions)","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_cast stores data type conversion paths, both built-in paths and those defined with CREATE CAST.\n\nIt should be noted that pg_cast does not represent every type conversion that the system knows how to perform; only those that cannot be deduced from some generic rule. For example, casting between a domain and its base type is not explicitly represented in pg_cast. Another important exception is that \"automatic I/O conversion casts\", those performed using a data type's own I/O functions to convert to or from text or other string types, are not explicitly represented in pg_cast.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_cast.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castsource","type":"oid","description":"OID of the source data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"casttarget","type":"oid","description":"OID of the target data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castfunc","type":"oid","description":"The OID of the function to use to perform this cast. Zero is stored if the cast method doesn't require a function.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castcontext","type":"\"char\"","description":"Indicates what contexts the cast can be invoked in. e means only as an explicit cast (using CAST or :: syntax). a means implicitly in assignment to a target column, as well as explicitly. i means implicitly in expressions, as well as the other cases.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castmethod","type":"\"char\"","description":"Indicates how the cast is performed. f means that the function specified in the castfunc field is used. i means that the input/output functions are used. b means that the types are binary-coercible, thus no conversion is required.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-cast.html","source_path":"sources/postgresql/9.0/catalog-pg-cast.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_cast.h","definition_source_path":"sources/postgresql/9.0/source/pg_cast.h","source_column_count":6,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2605,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_cast stores data type conversion paths, both built-in paths and those defined with CREATE CAST.\n\nIt should be noted that pg_cast does not represent every type conversion that the system knows how to perform; only those that cannot be deduced from some generic rule. For example, casting between a domain and its base type is not explicitly represented in pg_cast. Another important exception is that \"automatic I/O conversion casts\", those performed using a data type's own I/O functions to convert to or from text or other string types, are not explicitly represented in pg_cast.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_cast.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castsource","type":"oid","description":"OID of the source data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"casttarget","type":"oid","description":"OID of the target data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castfunc","type":"oid","description":"The OID of the function to use to perform this cast. Zero is stored if the cast method doesn't require a function.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castcontext","type":"\"char\"","description":"Indicates what contexts the cast can be invoked in. e means only as an explicit cast (using CAST or :: syntax). a means implicitly in assignment to a target column, as well as explicitly. i means implicitly in expressions, as well as the other cases.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castmethod","type":"\"char\"","description":"Indicates how the cast is performed. f means that the function specified in the castfunc field is used. i means that the input/output functions are used. b means that the types are binary-coercible, thus no conversion is required.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-cast.html","source_path":"sources/postgresql/9.1/catalog-pg-cast.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_cast.h","definition_source_path":"sources/postgresql/9.1/source/pg_cast.h","source_column_count":6,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2605,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_cast stores data type conversion paths, both built-in and user-defined.\n\nIt should be noted that pg_cast does not represent every type conversion that the system knows how to perform; only those that cannot be deduced from some generic rule. For example, casting between a domain and its base type is not explicitly represented in pg_cast. Another important exception is that \"automatic I/O conversion casts\", those performed using a data type's own I/O functions to convert to or from text or other string types, are not explicitly represented in pg_cast.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_cast.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castsource","type":"oid","description":"OID of the source data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"casttarget","type":"oid","description":"OID of the target data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castfunc","type":"oid","description":"The OID of the function to use to perform this cast. Zero is stored if the cast method doesn't require a function.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castcontext","type":"\"char\"","description":"Indicates what contexts the cast can be invoked in. e means only as an explicit cast (using CAST or :: syntax). a means implicitly in assignment to a target column, as well as explicitly. i means implicitly in expressions, as well as the other cases.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castmethod","type":"\"char\"","description":"Indicates how the cast is performed. f means that the function specified in the castfunc field is used. i means that the input/output functions are used. b means that the types are binary-coercible, thus no conversion is required.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-cast.html","source_path":"sources/postgresql/9.2/catalog-pg-cast.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_cast.h","definition_source_path":"sources/postgresql/9.2/source/pg_cast.h","source_column_count":6,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2605,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_cast stores data type conversion paths, both built-in and user-defined.\n\nIt should be noted that pg_cast does not represent every type conversion that the system knows how to perform; only those that cannot be deduced from some generic rule. For example, casting between a domain and its base type is not explicitly represented in pg_cast. Another important exception is that \"automatic I/O conversion casts\", those performed using a data type's own I/O functions to convert to or from text or other string types, are not explicitly represented in pg_cast.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castsource","type":"oid","description":"OID of the source data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"casttarget","type":"oid","description":"OID of the target data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castfunc","type":"oid","description":"The OID of the function to use to perform this cast. Zero is stored if the cast method doesn't require a function.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castcontext","type":"\"char\"","description":"Indicates what contexts the cast can be invoked in. e means only as an explicit cast (using CAST or :: syntax). a means implicitly in assignment to a target column, as well as explicitly. i means implicitly in expressions, as well as the other cases.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castmethod","type":"\"char\"","description":"Indicates how the cast is performed. f means that the function specified in the castfunc field is used. i means that the input/output functions are used. b means that the types are binary-coercible, thus no conversion is required.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-cast.html","source_path":"sources/postgresql/9.3/catalog-pg-cast.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_cast.h","definition_source_path":"sources/postgresql/9.3/source/pg_cast.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2605,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_cast stores data type conversion paths, both built-in and user-defined.\n\nIt should be noted that pg_cast does not represent every type conversion that the system knows how to perform; only those that cannot be deduced from some generic rule. For example, casting between a domain and its base type is not explicitly represented in pg_cast. Another important exception is that \"automatic I/O conversion casts\", those performed using a data type's own I/O functions to convert to or from text or other string types, are not explicitly represented in pg_cast.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castsource","type":"oid","description":"OID of the source data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"casttarget","type":"oid","description":"OID of the target data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castfunc","type":"oid","description":"The OID of the function to use to perform this cast. Zero is stored if the cast method doesn't require a function.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castcontext","type":"\"char\"","description":"Indicates what contexts the cast can be invoked in. e means only as an explicit cast (using CAST or :: syntax). a means implicitly in assignment to a target column, as well as explicitly. i means implicitly in expressions, as well as the other cases.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castmethod","type":"\"char\"","description":"Indicates how the cast is performed. f means that the function specified in the castfunc field is used. i means that the input/output functions are used. b means that the types are binary-coercible, thus no conversion is required.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-cast.html","source_path":"sources/postgresql/9.4/catalog-pg-cast.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_cast.h","definition_source_path":"sources/postgresql/9.4/source/pg_cast.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2605,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_cast stores data type conversion paths, both built-in and user-defined.\n\nIt should be noted that pg_cast does not represent every type conversion that the system knows how to perform; only those that cannot be deduced from some generic rule. For example, casting between a domain and its base type is not explicitly represented in pg_cast. Another important exception is that \"automatic I/O conversion casts\", those performed using a data type's own I/O functions to convert to or from text or other string types, are not explicitly represented in pg_cast.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castsource","type":"oid","description":"OID of the source data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"casttarget","type":"oid","description":"OID of the target data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castfunc","type":"oid","description":"The OID of the function to use to perform this cast. Zero is stored if the cast method doesn't require a function.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castcontext","type":"\"char\"","description":"Indicates what contexts the cast can be invoked in. e means only as an explicit cast (using CAST or :: syntax). a means implicitly in assignment to a target column, as well as explicitly. i means implicitly in expressions, as well as the other cases.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castmethod","type":"\"char\"","description":"Indicates how the cast is performed. f means that the function specified in the castfunc field is used. i means that the input/output functions are used. b means that the types are binary-coercible, thus no conversion is required.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-cast.html","source_path":"sources/postgresql/9.5/catalog-pg-cast.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_cast.h","definition_source_path":"sources/postgresql/9.5/source/pg_cast.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2605,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_cast stores data type conversion paths, both built-in and user-defined.\n\nIt should be noted that pg_cast does not represent every type conversion that the system knows how to perform; only those that cannot be deduced from some generic rule. For example, casting between a domain and its base type is not explicitly represented in pg_cast. Another important exception is that \"automatic I/O conversion casts\", those performed using a data type's own I/O functions to convert to or from text or other string types, are not explicitly represented in pg_cast.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castsource","type":"oid","description":"OID of the source data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"casttarget","type":"oid","description":"OID of the target data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castfunc","type":"oid","description":"The OID of the function to use to perform this cast. Zero is stored if the cast method doesn't require a function.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castcontext","type":"\"char\"","description":"Indicates what contexts the cast can be invoked in. e means only as an explicit cast (using CAST or :: syntax). a means implicitly in assignment to a target column, as well as explicitly. i means implicitly in expressions, as well as the other cases.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castmethod","type":"\"char\"","description":"Indicates how the cast is performed. f means that the function specified in the castfunc field is used. i means that the input/output functions are used. b means that the types are binary-coercible, thus no conversion is required.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-cast.html","source_path":"sources/postgresql/9.6/catalog-pg-cast.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_cast.h","definition_source_path":"sources/postgresql/9.6/source/pg_cast.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2605,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_cast stores data type conversion paths, both built-in and user-defined.\n\nIt should be noted that pg_cast does not represent every type conversion that the system knows how to perform; only those that cannot be deduced from some generic rule. For example, casting between a domain and its base type is not explicitly represented in pg_cast. Another important exception is that “automatic I/O conversion casts”, those performed using a data type's own I/O functions to convert to or from text or other string types, are not explicitly represented in pg_cast.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castsource","type":"oid","description":"OID of the source data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"casttarget","type":"oid","description":"OID of the target data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castfunc","type":"oid","description":"The OID of the function to use to perform this cast. Zero is stored if the cast method doesn't require a function.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castcontext","type":"\"char\"","description":"Indicates what contexts the cast can be invoked in. e means only as an explicit cast (using CAST or :: syntax). a means implicitly in assignment to a target column, as well as explicitly. i means implicitly in expressions, as well as the other cases.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castmethod","type":"\"char\"","description":"Indicates how the cast is performed. f means that the function specified in the castfunc field is used. i means that the input/output functions are used. b means that the types are binary-coercible, thus no conversion is required.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-cast.html","source_path":"sources/postgresql/10/catalog-pg-cast.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_cast.h","definition_source_path":"sources/postgresql/10/source/pg_cast.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2605,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_cast stores data type conversion paths, both built-in and user-defined.\n\nIt should be noted that pg_cast does not represent every type conversion that the system knows how to perform; only those that cannot be deduced from some generic rule. For example, casting between a domain and its base type is not explicitly represented in pg_cast. Another important exception is that “automatic I/O conversion casts”, those performed using a data type's own I/O functions to convert to or from text or other string types, are not explicitly represented in pg_cast.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castsource","type":"oid","description":"OID of the source data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"casttarget","type":"oid","description":"OID of the target data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castfunc","type":"oid","description":"The OID of the function to use to perform this cast. Zero is stored if the cast method doesn't require a function.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castcontext","type":"\"char\"","description":"Indicates what contexts the cast can be invoked in. e means only as an explicit cast (using CAST or :: syntax). a means implicitly in assignment to a target column, as well as explicitly. i means implicitly in expressions, as well as the other cases.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castmethod","type":"\"char\"","description":"Indicates how the cast is performed. f means that the function specified in the castfunc field is used. i means that the input/output functions are used. b means that the types are binary-coercible, thus no conversion is required.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-cast.html","source_path":"sources/postgresql/11/catalog-pg-cast.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_cast.h","definition_source_path":"sources/postgresql/11/source/pg_cast.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2605,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_cast stores data type conversion paths, both built-in and user-defined.\n\nIt should be noted that pg_cast does not represent every type conversion that the system knows how to perform; only those that cannot be deduced from some generic rule. For example, casting between a domain and its base type is not explicitly represented in pg_cast. Another important exception is that “automatic I/O conversion casts”, those performed using a data type's own I/O functions to convert to or from text or other string types, are not explicitly represented in pg_cast.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castsource","type":"oid","description":"OID of the source data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"casttarget","type":"oid","description":"OID of the target data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castfunc","type":"oid","description":"The OID of the function to use to perform this cast. Zero is stored if the cast method doesn't require a function.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castcontext","type":"\"char\"","description":"Indicates what contexts the cast can be invoked in. e means only as an explicit cast (using CAST or :: syntax). a means implicitly in assignment to a target column, as well as explicitly. i means implicitly in expressions, as well as the other cases.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castmethod","type":"\"char\"","description":"Indicates how the cast is performed. f means that the function specified in the castfunc field is used. i means that the input/output functions are used. b means that the types are binary-coercible, thus no conversion is required.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-cast.html","source_path":"sources/postgresql/12/catalog-pg-cast.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_cast.h","definition_source_path":"sources/postgresql/12/source/pg_cast.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2605,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_cast stores data type conversion paths, both built-in and user-defined.\n\nIt should be noted that pg_cast does not represent every type conversion that the system knows how to perform; only those that cannot be deduced from some generic rule. For example, casting between a domain and its base type is not explicitly represented in pg_cast. Another important exception is that “automatic I/O conversion casts”, those performed using a data type's own I/O functions to convert to or from text or other string types, are not explicitly represented in pg_cast.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castsource","type":"oid","description":"OID of the source data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"casttarget","type":"oid","description":"OID of the target data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castfunc","type":"oid","description":"The OID of the function to use to perform this cast. Zero is stored if the cast method doesn't require a function.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castcontext","type":"\"char\"","description":"Indicates what contexts the cast can be invoked in. e means only as an explicit cast (using CAST or :: syntax). a means implicitly in assignment to a target column, as well as explicitly. i means implicitly in expressions, as well as the other cases.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castmethod","type":"\"char\"","description":"Indicates how the cast is performed. f means that the function specified in the castfunc field is used. i means that the input/output functions are used. b means that the types are binary-coercible, thus no conversion is required.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-cast.html","source_path":"sources/postgresql/13/catalog-pg-cast.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_cast.h","definition_source_path":"sources/postgresql/13/source/pg_cast.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2605,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_cast stores data type conversion paths, both built-in and user-defined.\n\nIt should be noted that pg_cast does not represent every type conversion that the system knows how to perform; only those that cannot be deduced from some generic rule. For example, casting between a domain and its base type is not explicitly represented in pg_cast. Another important exception is that “automatic I/O conversion casts”, those performed using a data type's own I/O functions to convert to or from text or other string types, are not explicitly represented in pg_cast.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castsource","type":"oid","description":"OID of the source data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"casttarget","type":"oid","description":"OID of the target data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castfunc","type":"oid","description":"The OID of the function to use to perform this cast. Zero is stored if the cast method doesn't require a function.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castcontext","type":"\"char\"","description":"Indicates what contexts the cast can be invoked in. e means only as an explicit cast (using CAST or :: syntax). a means implicitly in assignment to a target column, as well as explicitly. i means implicitly in expressions, as well as the other cases.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castmethod","type":"\"char\"","description":"Indicates how the cast is performed. f means that the function specified in the castfunc field is used. i means that the input/output functions are used. b means that the types are binary-coercible, thus no conversion is required.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-cast.html","source_path":"sources/postgresql/14/catalog-pg-cast.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_cast.h","definition_source_path":"sources/postgresql/14/source/pg_cast.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2605,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_cast stores data type conversion paths, both built-in and user-defined.\n\nIt should be noted that pg_cast does not represent every type conversion that the system knows how to perform; only those that cannot be deduced from some generic rule. For example, casting between a domain and its base type is not explicitly represented in pg_cast. Another important exception is that “automatic I/O conversion casts”, those performed using a data type's own I/O functions to convert to or from text or other string types, are not explicitly represented in pg_cast.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castsource","type":"oid","description":"OID of the source data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"casttarget","type":"oid","description":"OID of the target data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castfunc","type":"oid","description":"The OID of the function to use to perform this cast. Zero is stored if the cast method doesn't require a function.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castcontext","type":"\"char\"","description":"Indicates what contexts the cast can be invoked in. e means only as an explicit cast (using CAST or :: syntax). a means implicitly in assignment to a target column, as well as explicitly. i means implicitly in expressions, as well as the other cases.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castmethod","type":"\"char\"","description":"Indicates how the cast is performed. f means that the function specified in the castfunc field is used. i means that the input/output functions are used. b means that the types are binary-coercible, thus no conversion is required.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-cast.html","source_path":"sources/postgresql/15/catalog-pg-cast.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_cast.h","definition_source_path":"sources/postgresql/15/source/pg_cast.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2605,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_cast stores data type conversion paths, both built-in and user-defined.\n\nIt should be noted that pg_cast does not represent every type conversion that the system knows how to perform; only those that cannot be deduced from some generic rule. For example, casting between a domain and its base type is not explicitly represented in pg_cast. Another important exception is that “automatic I/O conversion casts”, those performed using a data type's own I/O functions to convert to or from text or other string types, are not explicitly represented in pg_cast.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castsource","type":"oid","description":"OID of the source data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"casttarget","type":"oid","description":"OID of the target data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castfunc","type":"oid","description":"The OID of the function to use to perform this cast. Zero is stored if the cast method doesn't require a function.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castcontext","type":"\"char\"","description":"Indicates what contexts the cast can be invoked in. e means only as an explicit cast (using CAST or :: syntax). a means implicitly in assignment to a target column, as well as explicitly. i means implicitly in expressions, as well as the other cases.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castmethod","type":"\"char\"","description":"Indicates how the cast is performed. f means that the function specified in the castfunc field is used. i means that the input/output functions are used. b means that the types are binary-coercible, thus no conversion is required.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-cast.html","source_path":"sources/postgresql/16/catalog-pg-cast.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_cast.h","definition_source_path":"sources/postgresql/16/source/pg_cast.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2605,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_cast stores data type conversion paths, both built-in and user-defined.\n\nIt should be noted that pg_cast does not represent every type conversion that the system knows how to perform; only those that cannot be deduced from some generic rule. For example, casting between a domain and its base type is not explicitly represented in pg_cast. Another important exception is that “automatic I/O conversion casts”, those performed using a data type's own I/O functions to convert to or from text or other string types, are not explicitly represented in pg_cast.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castsource","type":"oid","description":"OID of the source data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"casttarget","type":"oid","description":"OID of the target data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castfunc","type":"oid","description":"The OID of the function to use to perform this cast. Zero is stored if the cast method doesn't require a function.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castcontext","type":"\"char\"","description":"Indicates what contexts the cast can be invoked in. e means only as an explicit cast (using CAST or :: syntax). a means implicitly in assignment to a target column, as well as explicitly. i means implicitly in expressions, as well as the other cases.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castmethod","type":"\"char\"","description":"Indicates how the cast is performed. f means that the function specified in the castfunc field is used. i means that the input/output functions are used. b means that the types are binary-coercible, thus no conversion is required.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-cast.html","source_path":"sources/postgresql/17/catalog-pg-cast.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_cast.h","definition_source_path":"sources/postgresql/17/source/pg_cast.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2605,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_cast stores data type conversion paths, both built-in and user-defined.\n\nIt should be noted that pg_cast does not represent every type conversion that the system knows how to perform; only those that cannot be deduced from some generic rule. For example, casting between a domain and its base type is not explicitly represented in pg_cast. Another important exception is that “automatic I/O conversion casts”, those performed using a data type's own I/O functions to convert to or from text or other string types, are not explicitly represented in pg_cast.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castsource","type":"oid","description":"OID of the source data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"casttarget","type":"oid","description":"OID of the target data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castfunc","type":"oid","description":"The OID of the function to use to perform this cast. Zero is stored if the cast method doesn't require a function.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castcontext","type":"\"char\"","description":"Indicates what contexts the cast can be invoked in. e means only as an explicit cast (using CAST or :: syntax). a means implicitly in assignment to a target column, as well as explicitly. i means implicitly in expressions, as well as the other cases.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castmethod","type":"\"char\"","description":"Indicates how the cast is performed. f means that the function specified in the castfunc field is used. i means that the input/output functions are used. b means that the types are binary-coercible, thus no conversion is required.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-cast.html","source_path":"sources/postgresql/18/catalog-pg-cast.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_cast.h","definition_source_path":"sources/postgresql/18/source/pg_cast.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2605,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_cast stores data type conversion paths, both built-in and user-defined.\n\nIt should be noted that pg_cast does not represent every type conversion that the system knows how to perform; only those that cannot be deduced from some generic rule. For example, casting between a domain and its base type is not explicitly represented in pg_cast. Another important exception is that “automatic I/O conversion casts”, those performed using a data type's own I/O functions to convert to or from text or other string types, are not explicitly represented in pg_cast.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castsource","type":"oid","description":"OID of the source data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"casttarget","type":"oid","description":"OID of the target data type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castfunc","type":"oid","description":"The OID of the function to use to perform this cast. Zero is stored if the cast method doesn't require a function.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castcontext","type":"\"char\"","description":"Indicates what contexts the cast can be invoked in. e means only as an explicit cast (using CAST or :: syntax). a means implicitly in assignment to a target column, as well as explicitly. i means implicitly in expressions, as well as the other cases.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"castmethod","type":"\"char\"","description":"Indicates how the cast is performed. f means that the function specified in the castfunc field is used. i means that the input/output functions are used. b means that the types are binary-coercible, thus no conversion is required.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-cast.html","source_path":"sources/postgresql/19/catalog-pg-cast.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_cast.h","definition_source_path":"sources/postgresql/19/source/pg_cast.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":2605,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_class","kind":"catalog","summary":"tables, indexes, sequences, views (“relations”)","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_class catalogs tables and most everything else that has columns or is otherwise similar to a table. This includes indexes (but see also pg_index), sequences, views, composite types, and TOAST tables; see relkind. Below, when we mean all of these kinds of objects we speak of \"relations\". Not all columns are meaningful for all relation types.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_class.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relname","type":"name","description":"Name of the table, index, view, etc.","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnamespace","type":"oid","description":"The OID of the namespace that contains this relation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltype","type":"oid","description":"The OID of the data type that corresponds to this table's row type, if any (zero for indexes, which have no pg_type entry)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reloftype","type":"oid","description":"For typed tables, the OID of the underlying composite type, zero for all other relations","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relowner","type":"oid","description":"Owner of the relation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relam","type":"oid","description":"If this is an index, the access method used (B-tree, hash, etc.)","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfilenode","type":"oid","description":"Name of the on-disk file of this relation; zero means this is a \"mapped\" relation whose disk file name is determined by low-level state","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltablespace","type":"oid","description":"The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. (Not meaningful if the relation has no on-disk file.)","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpages","type":"integer","description":"Size of the on-disk representation of this table in pages (of size BLCKSZ). This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltuples","type":"real","description":"Number of rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastrelid","type":"oid","description":"OID of the TOAST table associated with this table, 0 if none. The TOAST table stores large attributes \"out of line\" in a secondary table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastidxid","type":"oid","description":"For a TOAST table, the OID of its index. 0 if not a TOAST table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasindex","type":"boolean","description":"True if this is a table and it has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relisshared","type":"boolean","description":"True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database) are shared.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relistemp","type":"boolean","description":"True if this table is a temporary relation. If so, only the creating session can safely access its contents.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relkind","type":"\"char\"","description":"r = ordinary table, i = index, S = sequence, v = view, c = composite type, t = TOAST table","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnatts","type":"smallint","description":"Number of user columns in the relation (system columns not counted). There must be this many corresponding entries in pg_attribute. See also pg_attribute.attnum.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relchecks","type":"smallint","description":"Number of CHECK constraints on the table; see pg_constraint catalog","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasoids","type":"boolean","description":"True if we generate an OID for each row of the relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhaspkey","type":"boolean","description":"True if the table has (or once had) a primary key","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasexclusion","type":"boolean","description":"For a table, true if the table has (or once had) any exclusion constraints; for an index, true if the index supports an exclusion constraint","documented_type":"bool","hidden":false,"type_oid":16,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasrules","type":"boolean","description":"True if table has (or once had) rules; see pg_rewrite catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhastriggers","type":"boolean","description":"True if table has (or once had) triggers; see pg_trigger catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhassubclass","type":"boolean","description":"True if table has (or once had) any inheritance children","documented_type":"bool","hidden":false,"type_oid":16,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (\"frozen\") transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_clog to be shrunk. Zero (InvalidTransactionId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":26,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"reloptions","type":"text[]","description":"Access-method-specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":27,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html","source_path":"sources/postgresql/9.0/catalog-pg-class.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_class.h","definition_source_path":"sources/postgresql/9.0/source/pg_class.h","source_column_count":28,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1259,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_class catalogs tables and most everything else that has columns or is otherwise similar to a table. This includes indexes (but see also pg_index), sequences, views, composite types, and TOAST tables; see relkind. Below, when we mean all of these kinds of objects we speak of \"relations\". Not all columns are meaningful for all relation types.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_class.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relname","type":"name","description":"Name of the table, index, view, etc.","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnamespace","type":"oid","description":"The OID of the namespace that contains this relation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltype","type":"oid","description":"The OID of the data type that corresponds to this table's row type, if any (zero for indexes, which have no pg_type entry)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reloftype","type":"oid","description":"For typed tables, the OID of the underlying composite type, zero for all other relations","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relowner","type":"oid","description":"Owner of the relation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relam","type":"oid","description":"If this is an index, the access method used (B-tree, hash, etc.)","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfilenode","type":"oid","description":"Name of the on-disk file of this relation; zero means this is a \"mapped\" relation whose disk file name is determined by low-level state","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltablespace","type":"oid","description":"The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. (Not meaningful if the relation has no on-disk file.)","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpages","type":"integer","description":"Size of the on-disk representation of this table in pages (of size BLCKSZ). This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltuples","type":"real","description":"Number of rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastrelid","type":"oid","description":"OID of the TOAST table associated with this table, 0 if none. The TOAST table stores large attributes \"out of line\" in a secondary table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastidxid","type":"oid","description":"For a TOAST table, the OID of its index. 0 if not a TOAST table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasindex","type":"boolean","description":"True if this is a table and it has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relisshared","type":"boolean","description":"True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database) are shared.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpersistence","type":"\"char\"","description":"p = permanent table, u = unlogged table, t = temporary table","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relkind","type":"\"char\"","description":"r = ordinary table, i = index, S = sequence, v = view, c = composite type, t = TOAST table, f = foreign table","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnatts","type":"smallint","description":"Number of user columns in the relation (system columns not counted). There must be this many corresponding entries in pg_attribute. See also pg_attribute.attnum.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relchecks","type":"smallint","description":"Number of CHECK constraints on the table; see pg_constraint catalog","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasoids","type":"boolean","description":"True if we generate an OID for each row of the relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhaspkey","type":"boolean","description":"True if the table has (or once had) a primary key","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasrules","type":"boolean","description":"True if table has (or once had) rules; see pg_rewrite catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhastriggers","type":"boolean","description":"True if table has (or once had) triggers; see pg_trigger catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhassubclass","type":"boolean","description":"True if table has (or once had) any inheritance children","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (\"frozen\") transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_clog to be shrunk. Zero (InvalidTransactionId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"reloptions","type":"text[]","description":"Access-method-specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":26,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html","source_path":"sources/postgresql/9.1/catalog-pg-class.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_class.h","definition_source_path":"sources/postgresql/9.1/source/pg_class.h","source_column_count":27,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1259,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_class catalogs tables and most everything else that has columns or is otherwise similar to a table. This includes indexes (but see also pg_index), sequences, views, composite types, and TOAST tables; see relkind. Below, when we mean all of these kinds of objects we speak of \"relations\". Not all columns are meaningful for all relation types.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_class.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relname","type":"name","description":"Name of the table, index, view, etc.","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnamespace","type":"oid","description":"The OID of the namespace that contains this relation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltype","type":"oid","description":"The OID of the data type that corresponds to this table's row type, if any (zero for indexes, which have no pg_type entry)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reloftype","type":"oid","description":"For typed tables, the OID of the underlying composite type, zero for all other relations","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relowner","type":"oid","description":"Owner of the relation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relam","type":"oid","description":"If this is an index, the access method used (B-tree, hash, etc.)","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfilenode","type":"oid","description":"Name of the on-disk file of this relation; zero means this is a \"mapped\" relation whose disk file name is determined by low-level state","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltablespace","type":"oid","description":"The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. (Not meaningful if the relation has no on-disk file.)","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpages","type":"integer","description":"Size of the on-disk representation of this table in pages (of size BLCKSZ). This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltuples","type":"real","description":"Number of rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relallvisible","type":"integer","description":"Number of pages that are marked all-visible in the table's visibility map. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastrelid","type":"oid","description":"OID of the TOAST table associated with this table, 0 if none. The TOAST table stores large attributes \"out of line\" in a secondary table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastidxid","type":"oid","description":"For a TOAST table, the OID of its index. 0 if not a TOAST table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasindex","type":"boolean","description":"True if this is a table and it has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relisshared","type":"boolean","description":"True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database) are shared.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpersistence","type":"\"char\"","description":"p = permanent table, u = unlogged table, t = temporary table","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relkind","type":"\"char\"","description":"r = ordinary table, i = index, S = sequence, v = view, c = composite type, t = TOAST table, f = foreign table","documented_type":"char","hidden":false,"type_oid":18,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnatts","type":"smallint","description":"Number of user columns in the relation (system columns not counted). There must be this many corresponding entries in pg_attribute. See also pg_attribute.attnum.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relchecks","type":"smallint","description":"Number of CHECK constraints on the table; see pg_constraint catalog","documented_type":"int2","hidden":false,"type_oid":21,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasoids","type":"boolean","description":"True if we generate an OID for each row of the relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhaspkey","type":"boolean","description":"True if the table has (or once had) a primary key","documented_type":"bool","hidden":false,"type_oid":16,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasrules","type":"boolean","description":"True if table has (or once had) rules; see pg_rewrite catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhastriggers","type":"boolean","description":"True if table has (or once had) triggers; see pg_trigger catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhassubclass","type":"boolean","description":"True if table has (or once had) any inheritance children","documented_type":"bool","hidden":false,"type_oid":16,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (\"frozen\") transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_clog to be shrunk. Zero (InvalidTransactionId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":26,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"reloptions","type":"text[]","description":"Access-method-specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":27,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-class.html","source_path":"sources/postgresql/9.2/catalog-pg-class.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_class.h","definition_source_path":"sources/postgresql/9.2/source/pg_class.h","source_column_count":28,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1259,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_class catalogs tables and most everything else that has columns or is otherwise similar to a table. This includes indexes (but see also pg_index), sequences, views, materialized views, composite types, and TOAST tables; see relkind. Below, when we mean all of these kinds of objects we speak of \"relations\". Not all columns are meaningful for all relation types.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relname","type":"name","description":"Name of the table, index, view, etc.","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnamespace","type":"oid","description":"The OID of the namespace that contains this relation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltype","type":"oid","description":"The OID of the data type that corresponds to this table's row type, if any (zero for indexes, which have no pg_type entry)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reloftype","type":"oid","description":"For typed tables, the OID of the underlying composite type, zero for all other relations","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relowner","type":"oid","description":"Owner of the relation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relam","type":"oid","description":"If this is an index, the access method used (B-tree, hash, etc.)","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfilenode","type":"oid","description":"Name of the on-disk file of this relation; zero means this is a \"mapped\" relation whose disk file name is determined by low-level state","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltablespace","type":"oid","description":"The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. (Not meaningful if the relation has no on-disk file.)","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpages","type":"integer","description":"Size of the on-disk representation of this table in pages (of size BLCKSZ). This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltuples","type":"real","description":"Number of rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relallvisible","type":"integer","description":"Number of pages that are marked all-visible in the table's visibility map. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastrelid","type":"oid","description":"OID of the TOAST table associated with this table, 0 if none. The TOAST table stores large attributes \"out of line\" in a secondary table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastidxid","type":"oid","description":"For a TOAST table, the OID of its index. 0 if not a TOAST table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasindex","type":"boolean","description":"True if this is a table and it has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relisshared","type":"boolean","description":"True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database) are shared.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpersistence","type":"\"char\"","description":"p = permanent table, u = unlogged table, t = temporary table","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relkind","type":"\"char\"","description":"r = ordinary table, i = index, S = sequence, v = view, m = materialized view, c = composite type, t = TOAST table, f = foreign table","documented_type":"char","hidden":false,"type_oid":18,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnatts","type":"smallint","description":"Number of user columns in the relation (system columns not counted). There must be this many corresponding entries in pg_attribute. See also pg_attribute.attnum.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relchecks","type":"smallint","description":"Number of CHECK constraints on the table; see pg_constraint catalog","documented_type":"int2","hidden":false,"type_oid":21,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasoids","type":"boolean","description":"True if we generate an OID for each row of the relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhaspkey","type":"boolean","description":"True if the table has (or once had) a primary key","documented_type":"bool","hidden":false,"type_oid":16,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasrules","type":"boolean","description":"True if table has (or once had) rules; see pg_rewrite catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhastriggers","type":"boolean","description":"True if table has (or once had) triggers; see pg_trigger catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhassubclass","type":"boolean","description":"True if table has (or once had) any inheritance children","documented_type":"bool","hidden":false,"type_oid":16,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispopulated","type":"boolean","description":"True if relation is populated (this is true for all relations other than some materialized views)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (\"frozen\") transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_clog to be shrunk. Zero (InvalidTransactionId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relminmxid","type":"xid","description":"All multixact IDs before this one have been replaced by a transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. Zero (InvalidMultiXactId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":28,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"reloptions","type":"text[]","description":"Access-method-specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":29,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-class.html","source_path":"sources/postgresql/9.3/catalog-pg-class.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_class.h","definition_source_path":"sources/postgresql/9.3/source/pg_class.h","source_column_count":30,"documentary_schema_source":"documentation","relation_oid":1259,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_class catalogs tables and most everything else that has columns or is otherwise similar to a table. This includes indexes (but see also pg_index), sequences, views, materialized views, composite types, and TOAST tables; see relkind. Below, when we mean all of these kinds of objects we speak of \"relations\". Not all columns are meaningful for all relation types.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relname","type":"name","description":"Name of the table, index, view, etc.","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnamespace","type":"oid","description":"The OID of the namespace that contains this relation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltype","type":"oid","description":"The OID of the data type that corresponds to this table's row type, if any (zero for indexes, which have no pg_type entry)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reloftype","type":"oid","description":"For typed tables, the OID of the underlying composite type, zero for all other relations","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relowner","type":"oid","description":"Owner of the relation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relam","type":"oid","description":"If this is an index, the access method used (B-tree, hash, etc.)","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfilenode","type":"oid","description":"Name of the on-disk file of this relation; zero means this is a \"mapped\" relation whose disk file name is determined by low-level state","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltablespace","type":"oid","description":"The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. (Not meaningful if the relation has no on-disk file.)","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpages","type":"integer","description":"Size of the on-disk representation of this table in pages (of size BLCKSZ). This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltuples","type":"real","description":"Number of rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relallvisible","type":"integer","description":"Number of pages that are marked all-visible in the table's visibility map. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastrelid","type":"oid","description":"OID of the TOAST table associated with this table, 0 if none. The TOAST table stores large attributes \"out of line\" in a secondary table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasindex","type":"boolean","description":"True if this is a table and it has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relisshared","type":"boolean","description":"True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database) are shared.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpersistence","type":"\"char\"","description":"p = permanent table, u = unlogged table, t = temporary table","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relkind","type":"\"char\"","description":"r = ordinary table, i = index, S = sequence, v = view, m = materialized view, c = composite type, t = TOAST table, f = foreign table","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnatts","type":"smallint","description":"Number of user columns in the relation (system columns not counted). There must be this many corresponding entries in pg_attribute. See also pg_attribute.attnum.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relchecks","type":"smallint","description":"Number of CHECK constraints on the table; see pg_constraint catalog","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasoids","type":"boolean","description":"True if we generate an OID for each row of the relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhaspkey","type":"boolean","description":"True if the table has (or once had) a primary key","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasrules","type":"boolean","description":"True if table has (or once had) rules; see pg_rewrite catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhastriggers","type":"boolean","description":"True if table has (or once had) triggers; see pg_trigger catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhassubclass","type":"boolean","description":"True if table has (or once had) any inheritance children","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispopulated","type":"boolean","description":"True if relation is populated (this is true for all relations other than some materialized views)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relreplident","type":"\"char\"","description":"Columns used to form \"replica identity\" for rows: d = default (primary key, if any), n = nothing, f = all columns i = index with indisreplident set, or default","documented_type":"char","hidden":false,"type_oid":18,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (\"frozen\") transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_clog to be shrunk. Zero (InvalidTransactionId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relminmxid","type":"xid","description":"All multixact IDs before this one have been replaced by a transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. Zero (InvalidMultiXactId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":28,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"reloptions","type":"text[]","description":"Access-method-specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":29,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-class.html","source_path":"sources/postgresql/9.4/catalog-pg-class.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_class.h","definition_source_path":"sources/postgresql/9.4/source/pg_class.h","source_column_count":30,"documentary_schema_source":"documentation","relation_oid":1259,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_class catalogs tables and most everything else that has columns or is otherwise similar to a table. This includes indexes (but see also pg_index), sequences, views, materialized views, composite types, and TOAST tables; see relkind. Below, when we mean all of these kinds of objects we speak of \"relations\". Not all columns are meaningful for all relation types.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relname","type":"name","description":"Name of the table, index, view, etc.","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnamespace","type":"oid","description":"The OID of the namespace that contains this relation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltype","type":"oid","description":"The OID of the data type that corresponds to this table's row type, if any (zero for indexes, which have no pg_type entry)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reloftype","type":"oid","description":"For typed tables, the OID of the underlying composite type, zero for all other relations","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relowner","type":"oid","description":"Owner of the relation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relam","type":"oid","description":"If this is an index, the access method used (B-tree, hash, etc.)","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfilenode","type":"oid","description":"Name of the on-disk file of this relation; zero means this is a \"mapped\" relation whose disk file name is determined by low-level state","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltablespace","type":"oid","description":"The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. (Not meaningful if the relation has no on-disk file.)","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpages","type":"integer","description":"Size of the on-disk representation of this table in pages (of size BLCKSZ). This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltuples","type":"real","description":"Number of rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relallvisible","type":"integer","description":"Number of pages that are marked all-visible in the table's visibility map. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastrelid","type":"oid","description":"OID of the TOAST table associated with this table, 0 if none. The TOAST table stores large attributes \"out of line\" in a secondary table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasindex","type":"boolean","description":"True if this is a table and it has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relisshared","type":"boolean","description":"True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database) are shared.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpersistence","type":"\"char\"","description":"p = permanent table, u = unlogged table, t = temporary table","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relkind","type":"\"char\"","description":"r = ordinary table, i = index, S = sequence, v = view, m = materialized view, c = composite type, t = TOAST table, f = foreign table","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnatts","type":"smallint","description":"Number of user columns in the relation (system columns not counted). There must be this many corresponding entries in pg_attribute. See also pg_attribute.attnum.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relchecks","type":"smallint","description":"Number of CHECK constraints on the table; see pg_constraint catalog","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasoids","type":"boolean","description":"True if we generate an OID for each row of the relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhaspkey","type":"boolean","description":"True if the table has (or once had) a primary key","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasrules","type":"boolean","description":"True if table has (or once had) rules; see pg_rewrite catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhastriggers","type":"boolean","description":"True if table has (or once had) triggers; see pg_trigger catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhassubclass","type":"boolean","description":"True if table has (or once had) any inheritance children","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrowsecurity","type":"boolean","description":"True if table has row level security enabled; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relforcerowsecurity","type":"boolean","description":"True if row level security (when enabled) will also apply to table owner; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispopulated","type":"boolean","description":"True if relation is populated (this is true for all relations other than some materialized views)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relreplident","type":"\"char\"","description":"Columns used to form \"replica identity\" for rows: d = default (primary key, if any), n = nothing, f = all columns, i = index with indisreplident set (same as nothing if the index used has been dropped)","documented_type":"char","hidden":false,"type_oid":18,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (\"frozen\") transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_clog to be shrunk. Zero (InvalidTransactionId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relminmxid","type":"xid","description":"All multixact IDs before this one have been replaced by a transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. Zero (InvalidMultiXactId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":30,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"reloptions","type":"text[]","description":"Access-method-specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":31,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-class.html","source_path":"sources/postgresql/9.5/catalog-pg-class.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_class.h","definition_source_path":"sources/postgresql/9.5/source/pg_class.h","source_column_count":32,"documentary_schema_source":"documentation","relation_oid":1259,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_class catalogs tables and most everything else that has columns or is otherwise similar to a table. This includes indexes (but see also pg_index), sequences, views, materialized views, composite types, and TOAST tables; see relkind. Below, when we mean all of these kinds of objects we speak of \"relations\". Not all columns are meaningful for all relation types.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relname","type":"name","description":"Name of the table, index, view, etc.","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnamespace","type":"oid","description":"The OID of the namespace that contains this relation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltype","type":"oid","description":"The OID of the data type that corresponds to this table's row type, if any (zero for indexes, which have no pg_type entry)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reloftype","type":"oid","description":"For typed tables, the OID of the underlying composite type, zero for all other relations","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relowner","type":"oid","description":"Owner of the relation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relam","type":"oid","description":"If this is an index, the access method used (B-tree, hash, etc.)","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfilenode","type":"oid","description":"Name of the on-disk file of this relation; zero means this is a \"mapped\" relation whose disk file name is determined by low-level state","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltablespace","type":"oid","description":"The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. (Not meaningful if the relation has no on-disk file.)","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpages","type":"integer","description":"Size of the on-disk representation of this table in pages (of size BLCKSZ). This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltuples","type":"real","description":"Number of rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relallvisible","type":"integer","description":"Number of pages that are marked all-visible in the table's visibility map. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastrelid","type":"oid","description":"OID of the TOAST table associated with this table, 0 if none. The TOAST table stores large attributes \"out of line\" in a secondary table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasindex","type":"boolean","description":"True if this is a table and it has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relisshared","type":"boolean","description":"True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database) are shared.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpersistence","type":"\"char\"","description":"p = permanent table, u = unlogged table, t = temporary table","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relkind","type":"\"char\"","description":"r = ordinary table, i = index, S = sequence, v = view, m = materialized view, c = composite type, t = TOAST table, f = foreign table","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnatts","type":"smallint","description":"Number of user columns in the relation (system columns not counted). There must be this many corresponding entries in pg_attribute. See also pg_attribute.attnum.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relchecks","type":"smallint","description":"Number of CHECK constraints on the table; see pg_constraint catalog","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasoids","type":"boolean","description":"True if we generate an OID for each row of the relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhaspkey","type":"boolean","description":"True if the table has (or once had) a primary key","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasrules","type":"boolean","description":"True if table has (or once had) rules; see pg_rewrite catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhastriggers","type":"boolean","description":"True if table has (or once had) triggers; see pg_trigger catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhassubclass","type":"boolean","description":"True if table has (or once had) any inheritance children","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrowsecurity","type":"boolean","description":"True if table has row level security enabled; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relforcerowsecurity","type":"boolean","description":"True if row level security (when enabled) will also apply to table owner; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispopulated","type":"boolean","description":"True if relation is populated (this is true for all relations other than some materialized views)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relreplident","type":"\"char\"","description":"Columns used to form \"replica identity\" for rows: d = default (primary key, if any), n = nothing, f = all columns, i = index with indisreplident set (same as nothing if the index used has been dropped)","documented_type":"char","hidden":false,"type_oid":18,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (\"frozen\") transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_clog to be shrunk. Zero (InvalidTransactionId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relminmxid","type":"xid","description":"All multixact IDs before this one have been replaced by a transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. Zero (InvalidMultiXactId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":30,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"reloptions","type":"text[]","description":"Access-method-specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":31,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-class.html","source_path":"sources/postgresql/9.6/catalog-pg-class.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_class.h","definition_source_path":"sources/postgresql/9.6/source/pg_class.h","source_column_count":32,"documentary_schema_source":"documentation","relation_oid":1259,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_class catalogs tables and most everything else that has columns or is otherwise similar to a table. This includes indexes (but see also pg_index), sequences (but see also pg_sequence), views, materialized views, composite types, and TOAST tables; see relkind. Below, when we mean all of these kinds of objects we speak of “relations”. Not all columns are meaningful for all relation types.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relname","type":"name","description":"Name of the table, index, view, etc.","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnamespace","type":"oid","description":"The OID of the namespace that contains this relation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltype","type":"oid","description":"The OID of the data type that corresponds to this table's row type, if any (zero for indexes, which have no pg_type entry)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reloftype","type":"oid","description":"For typed tables, the OID of the underlying composite type, zero for all other relations","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relowner","type":"oid","description":"Owner of the relation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relam","type":"oid","description":"If this is an index, the access method used (B-tree, hash, etc.)","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfilenode","type":"oid","description":"Name of the on-disk file of this relation; zero means this is a “mapped” relation whose disk file name is determined by low-level state","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltablespace","type":"oid","description":"The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. (Not meaningful if the relation has no on-disk file.)","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpages","type":"integer","description":"Size of the on-disk representation of this table in pages (of size BLCKSZ). This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltuples","type":"real","description":"Number of rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relallvisible","type":"integer","description":"Number of pages that are marked all-visible in the table's visibility map. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastrelid","type":"oid","description":"OID of the TOAST table associated with this table, 0 if none. The TOAST table stores large attributes “out of line” in a secondary table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasindex","type":"boolean","description":"True if this is a table and it has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relisshared","type":"boolean","description":"True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database) are shared.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpersistence","type":"\"char\"","description":"p = permanent table, u = unlogged table, t = temporary table","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relkind","type":"\"char\"","description":"r = ordinary table, i = index, S = sequence, t = TOAST table, v = view, m = materialized view, c = composite type, f = foreign table, p = partitioned table","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnatts","type":"smallint","description":"Number of user columns in the relation (system columns not counted). There must be this many corresponding entries in pg_attribute. See also pg_attribute.attnum.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relchecks","type":"smallint","description":"Number of CHECK constraints on the table; see pg_constraint catalog","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasoids","type":"boolean","description":"True if we generate an OID for each row of the relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhaspkey","type":"boolean","description":"True if the table has (or once had) a primary key","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasrules","type":"boolean","description":"True if table has (or once had) rules; see pg_rewrite catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhastriggers","type":"boolean","description":"True if table has (or once had) triggers; see pg_trigger catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhassubclass","type":"boolean","description":"True if table has (or once had) any inheritance children","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrowsecurity","type":"boolean","description":"True if table has row level security enabled; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relforcerowsecurity","type":"boolean","description":"True if row level security (when enabled) will also apply to table owner; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispopulated","type":"boolean","description":"True if relation is populated (this is true for all relations other than some materialized views)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relreplident","type":"\"char\"","description":"Columns used to form “replica identity” for rows: d = default (primary key, if any), n = nothing, f = all columns, i = index with indisreplident set (same as nothing if the index used has been dropped)","documented_type":"char","hidden":false,"type_oid":18,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispartition","type":"boolean","description":"True if table is a partition","documented_type":"bool","hidden":false,"type_oid":16,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. Zero (InvalidTransactionId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relminmxid","type":"xid","description":"All multixact IDs before this one have been replaced by a transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. Zero (InvalidMultiXactId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":31,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"reloptions","type":"text[]","description":"Access-method-specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":32,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"relpartbound","type":"pg_node_tree","description":"If table is a partition (see relispartition), internal representation of the partition bound","hidden":false,"type_oid":194,"attnum":33,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-class.html","source_path":"sources/postgresql/10/catalog-pg-class.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_class.h","definition_source_path":"sources/postgresql/10/source/pg_class.h","source_column_count":34,"documentary_schema_source":"documentation","relation_oid":1259,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_class describes tables and other objects that have columns or are otherwise similar to a table. This includes indexes (but see also pg_index), sequences (but see also pg_sequence), views, materialized views, composite types, and TOAST tables; see relkind. Below, when we mean all of these kinds of objects we speak of “relations”. Not all of pg_class's columns are meaningful for all relation kinds.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relname","type":"name","description":"Name of the table, index, view, etc.","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnamespace","type":"oid","description":"The OID of the namespace that contains this relation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltype","type":"oid","description":"The OID of the data type that corresponds to this table's row type, if any (zero for indexes, which have no pg_type entry)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reloftype","type":"oid","description":"For typed tables, the OID of the underlying composite type, zero for all other relations","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relowner","type":"oid","description":"Owner of the relation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relam","type":"oid","description":"If this is an index, the access method used (B-tree, hash, etc.)","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfilenode","type":"oid","description":"Name of the on-disk file of this relation; zero means this is a “mapped” relation whose disk file name is determined by low-level state","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltablespace","type":"oid","description":"The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. (Not meaningful if the relation has no on-disk file.)","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpages","type":"integer","description":"Size of the on-disk representation of this table in pages (of size BLCKSZ). This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltuples","type":"real","description":"Number of live rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relallvisible","type":"integer","description":"Number of pages that are marked all-visible in the table's visibility map. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastrelid","type":"oid","description":"OID of the TOAST table associated with this table, 0 if none. The TOAST table stores large attributes “out of line” in a secondary table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasindex","type":"boolean","description":"True if this is a table and it has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relisshared","type":"boolean","description":"True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database) are shared.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpersistence","type":"\"char\"","description":"p = permanent table, u = unlogged table, t = temporary table","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relkind","type":"\"char\"","description":"r = ordinary table, i = index, S = sequence, t = TOAST table, v = view, m = materialized view, c = composite type, f = foreign table, p = partitioned table, I = partitioned index","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnatts","type":"smallint","description":"Number of user columns in the relation (system columns not counted). There must be this many corresponding entries in pg_attribute. See also pg_attribute.attnum.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relchecks","type":"smallint","description":"Number of CHECK constraints on the table; see pg_constraint catalog","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasoids","type":"boolean","description":"True if we generate an OID for each row of the relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasrules","type":"boolean","description":"True if table has (or once had) rules; see pg_rewrite catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhastriggers","type":"boolean","description":"True if table has (or once had) triggers; see pg_trigger catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhassubclass","type":"boolean","description":"True if table has (or once had) any inheritance children","documented_type":"bool","hidden":false,"type_oid":16,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrowsecurity","type":"boolean","description":"True if table has row level security enabled; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relforcerowsecurity","type":"boolean","description":"True if row level security (when enabled) will also apply to table owner; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispopulated","type":"boolean","description":"True if relation is populated (this is true for all relations other than some materialized views)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relreplident","type":"\"char\"","description":"Columns used to form “replica identity” for rows: d = default (primary key, if any), n = nothing, f = all columns, i = index with indisreplident set (same as nothing if the index used has been dropped)","documented_type":"char","hidden":false,"type_oid":18,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispartition","type":"boolean","description":"True if table or index is a partition","documented_type":"bool","hidden":false,"type_oid":16,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrewrite","type":"oid","description":"For new relations being written during a DDL operation that requires a table rewrite, this contains the OID of the original relation; otherwise 0. That state is only visible internally; this field should never contain anything other than 0 for a user-visible relation.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. Zero (InvalidTransactionId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relminmxid","type":"xid","description":"All multixact IDs before this one have been replaced by a transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. Zero (InvalidMultiXactId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":31,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"reloptions","type":"text[]","description":"Access-method-specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":32,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"relpartbound","type":"pg_node_tree","description":"If table is a partition (see relispartition), internal representation of the partition bound","hidden":false,"type_oid":194,"attnum":33,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-class.html","source_path":"sources/postgresql/11/catalog-pg-class.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_class.h","definition_source_path":"sources/postgresql/11/source/pg_class.h","source_column_count":34,"documentary_schema_source":"documentation","relation_oid":1259,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_class describes tables and other objects that have columns or are otherwise similar to a table. This includes indexes (but see also pg_index), sequences (but see also pg_sequence), views, materialized views, composite types, and TOAST tables; see relkind. Below, when we mean all of these kinds of objects we speak of “relations”. Not all of pg_class's columns are meaningful for all relation kinds.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relname","type":"name","description":"Name of the table, index, view, etc.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnamespace","type":"oid","description":"The OID of the namespace that contains this relation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltype","type":"oid","description":"The OID of the data type that corresponds to this table's row type, if any (zero for indexes, which have no pg_type entry)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reloftype","type":"oid","description":"For typed tables, the OID of the underlying composite type, zero for all other relations","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relowner","type":"oid","description":"Owner of the relation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relam","type":"oid","description":"If this is a table or an index, the access method used (heap, B-tree, hash, etc.)","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfilenode","type":"oid","description":"Name of the on-disk file of this relation; zero means this is a “mapped” relation whose disk file name is determined by low-level state","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltablespace","type":"oid","description":"The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. Not meaningful if the relation has no on-disk file, except for partitioned tables, where this is the tablespace in which partitions will be created when one is not specified in the creation command.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpages","type":"integer","description":"Size of the on-disk representation of this table in pages (of size BLCKSZ). This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltuples","type":"real","description":"Number of live rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relallvisible","type":"integer","description":"Number of pages that are marked all-visible in the table's visibility map. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastrelid","type":"oid","description":"OID of the TOAST table associated with this table, 0 if none. The TOAST table stores large attributes “out of line” in a secondary table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasindex","type":"boolean","description":"True if this is a table and it has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relisshared","type":"boolean","description":"True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database) are shared.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpersistence","type":"\"char\"","description":"p = permanent table, u = unlogged table, t = temporary table","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relkind","type":"\"char\"","description":"r = ordinary table, i = index, S = sequence, t = TOAST table, v = view, m = materialized view, c = composite type, f = foreign table, p = partitioned table, I = partitioned index","documented_type":"char","hidden":false,"type_oid":18,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnatts","type":"smallint","description":"Number of user columns in the relation (system columns not counted). There must be this many corresponding entries in pg_attribute. See also pg_attribute.attnum.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relchecks","type":"smallint","description":"Number of CHECK constraints on the table; see pg_constraint catalog","documented_type":"int2","hidden":false,"type_oid":21,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasrules","type":"boolean","description":"True if table has (or once had) rules; see pg_rewrite catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhastriggers","type":"boolean","description":"True if table has (or once had) triggers; see pg_trigger catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhassubclass","type":"boolean","description":"True if table or index has (or once had) any inheritance children","documented_type":"bool","hidden":false,"type_oid":16,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrowsecurity","type":"boolean","description":"True if table has row level security enabled; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relforcerowsecurity","type":"boolean","description":"True if row level security (when enabled) will also apply to table owner; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispopulated","type":"boolean","description":"True if relation is populated (this is true for all relations other than some materialized views)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relreplident","type":"\"char\"","description":"Columns used to form “replica identity” for rows: d = default (primary key, if any), n = nothing, f = all columns, i = index with indisreplident set (same as nothing if the index used has been dropped)","documented_type":"char","hidden":false,"type_oid":18,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispartition","type":"boolean","description":"True if table or index is a partition","documented_type":"bool","hidden":false,"type_oid":16,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrewrite","type":"oid","description":"For new relations being written during a DDL operation that requires a table rewrite, this contains the OID of the original relation; otherwise 0. That state is only visible internally; this field should never contain anything other than 0 for a user-visible relation.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. Zero (InvalidTransactionId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relminmxid","type":"xid","description":"All multixact IDs before this one have been replaced by a transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. Zero (InvalidMultiXactId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":31,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"reloptions","type":"text[]","description":"Access-method-specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":32,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"relpartbound","type":"pg_node_tree","description":"If table is a partition (see relispartition), internal representation of the partition bound","hidden":false,"type_oid":194,"attnum":33,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-class.html","source_path":"sources/postgresql/12/catalog-pg-class.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_class.h","definition_source_path":"sources/postgresql/12/source/pg_class.h","source_column_count":33,"documentary_schema_source":"documentation","relation_oid":1259,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_class describes tables and other objects that have columns or are otherwise similar to a table. This includes indexes (but see also pg_index), sequences (but see also pg_sequence), views, materialized views, composite types, and TOAST tables; see relkind. Below, when we mean all of these kinds of objects we speak of “relations”. Not all of pg_class's columns are meaningful for all relation kinds.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relname","type":"name","description":"Name of the table, index, view, etc.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnamespace","type":"oid","description":"The OID of the namespace that contains this relation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltype","type":"oid","description":"The OID of the data type that corresponds to this table's row type, if any (zero for indexes, which have no pg_type entry)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reloftype","type":"oid","description":"For typed tables, the OID of the underlying composite type, zero for all other relations","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relowner","type":"oid","description":"Owner of the relation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relam","type":"oid","description":"If this is a table or an index, the access method used (heap, B-tree, hash, etc.)","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfilenode","type":"oid","description":"Name of the on-disk file of this relation; zero means this is a “mapped” relation whose disk file name is determined by low-level state","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltablespace","type":"oid","description":"The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. Not meaningful if the relation has no on-disk file, except for partitioned tables, where this is the tablespace in which partitions will be created when one is not specified in the creation command.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpages","type":"integer","description":"Size of the on-disk representation of this table in pages (of size BLCKSZ). This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltuples","type":"real","description":"Number of live rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relallvisible","type":"integer","description":"Number of pages that are marked all-visible in the table's visibility map. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastrelid","type":"oid","description":"OID of the TOAST table associated with this table, 0 if none. The TOAST table stores large attributes “out of line” in a secondary table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasindex","type":"boolean","description":"True if this is a table and it has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relisshared","type":"boolean","description":"True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database) are shared.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpersistence","type":"\"char\"","description":"p = permanent table, u = unlogged table, t = temporary table","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relkind","type":"\"char\"","description":"r = ordinary table, i = index, S = sequence, t = TOAST table, v = view, m = materialized view, c = composite type, f = foreign table, p = partitioned table, I = partitioned index","documented_type":"char","hidden":false,"type_oid":18,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnatts","type":"smallint","description":"Number of user columns in the relation (system columns not counted). There must be this many corresponding entries in pg_attribute. See also pg_attribute.attnum.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relchecks","type":"smallint","description":"Number of CHECK constraints on the table; see pg_constraint catalog","documented_type":"int2","hidden":false,"type_oid":21,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasrules","type":"boolean","description":"True if table has (or once had) rules; see pg_rewrite catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhastriggers","type":"boolean","description":"True if table has (or once had) triggers; see pg_trigger catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhassubclass","type":"boolean","description":"True if table or index has (or once had) any inheritance children","documented_type":"bool","hidden":false,"type_oid":16,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrowsecurity","type":"boolean","description":"True if table has row level security enabled; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relforcerowsecurity","type":"boolean","description":"True if row level security (when enabled) will also apply to table owner; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispopulated","type":"boolean","description":"True if relation is populated (this is true for all relations other than some materialized views)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relreplident","type":"\"char\"","description":"Columns used to form “replica identity” for rows: d = default (primary key, if any), n = nothing, f = all columns, i = index with indisreplident set (same as nothing if the index used has been dropped)","documented_type":"char","hidden":false,"type_oid":18,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispartition","type":"boolean","description":"True if table or index is a partition","documented_type":"bool","hidden":false,"type_oid":16,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrewrite","type":"oid","description":"For new relations being written during a DDL operation that requires a table rewrite, this contains the OID of the original relation; otherwise 0. That state is only visible internally; this field should never contain anything other than 0 for a user-visible relation.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. Zero (InvalidTransactionId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relminmxid","type":"xid","description":"All multixact IDs before this one have been replaced by a transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. Zero (InvalidMultiXactId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":31,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"reloptions","type":"text[]","description":"Access-method-specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":32,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"relpartbound","type":"pg_node_tree","description":"If table is a partition (see relispartition), internal representation of the partition bound","hidden":false,"type_oid":194,"attnum":33,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-class.html","source_path":"sources/postgresql/13/catalog-pg-class.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_class.h","definition_source_path":"sources/postgresql/13/source/pg_class.h","source_column_count":33,"documentary_schema_source":"documentation","relation_oid":1259,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_class describes tables and other objects that have columns or are otherwise similar to a table. This includes indexes (but see also pg_index), sequences (but see also pg_sequence), views, materialized views, composite types, and TOAST tables; see relkind. Below, when we mean all of these kinds of objects we speak of “relations”. Not all of pg_class's columns are meaningful for all relation kinds.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relname","type":"name","description":"Name of the table, index, view, etc.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnamespace","type":"oid","description":"The OID of the namespace that contains this relation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltype","type":"oid","description":"The OID of the data type that corresponds to this table's row type, if any; zero for indexes, sequences, and toast tables, which have no pg_type entry","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reloftype","type":"oid","description":"For typed tables, the OID of the underlying composite type; zero for all other relations","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relowner","type":"oid","description":"Owner of the relation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relam","type":"oid","description":"If this is a table or an index, the access method used (heap, B-tree, hash, etc.); otherwise zero (zero occurs for sequences, as well as relations without storage, such as views)","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfilenode","type":"oid","description":"Name of the on-disk file of this relation; zero means this is a “mapped” relation whose disk file name is determined by low-level state","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltablespace","type":"oid","description":"The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. Not meaningful if the relation has no on-disk file, except for partitioned tables, where this is the tablespace in which partitions will be created when one is not specified in the creation command.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpages","type":"integer","description":"Size of the on-disk representation of this table in pages (of size BLCKSZ). This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltuples","type":"real","description":"Number of live rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX. If the table has never yet been vacuumed or analyzed, reltuples contains -1 indicating that the row count is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relallvisible","type":"integer","description":"Number of pages that are marked all-visible in the table's visibility map. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastrelid","type":"oid","description":"OID of the TOAST table associated with this table, zero if none. The TOAST table stores large attributes “out of line” in a secondary table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasindex","type":"boolean","description":"True if this is a table and it has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relisshared","type":"boolean","description":"True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database) are shared.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpersistence","type":"\"char\"","description":"p = permanent table, u = unlogged table, t = temporary table","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relkind","type":"\"char\"","description":"r = ordinary table, i = index, S = sequence, t = TOAST table, v = view, m = materialized view, c = composite type, f = foreign table, p = partitioned table, I = partitioned index","documented_type":"char","hidden":false,"type_oid":18,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnatts","type":"smallint","description":"Number of user columns in the relation (system columns not counted). There must be this many corresponding entries in pg_attribute. See also pg_attribute.attnum.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relchecks","type":"smallint","description":"Number of CHECK constraints on the table; see pg_constraint catalog","documented_type":"int2","hidden":false,"type_oid":21,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasrules","type":"boolean","description":"True if table has (or once had) rules; see pg_rewrite catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhastriggers","type":"boolean","description":"True if table has (or once had) triggers; see pg_trigger catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhassubclass","type":"boolean","description":"True if table or index has (or once had) any inheritance children","documented_type":"bool","hidden":false,"type_oid":16,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrowsecurity","type":"boolean","description":"True if table has row-level security enabled; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relforcerowsecurity","type":"boolean","description":"True if row-level security (when enabled) will also apply to table owner; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispopulated","type":"boolean","description":"True if relation is populated (this is true for all relations other than some materialized views)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relreplident","type":"\"char\"","description":"Columns used to form “replica identity” for rows: d = default (primary key, if any), n = nothing, f = all columns, i = index with indisreplident set (same as nothing if the index used has been dropped)","documented_type":"char","hidden":false,"type_oid":18,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispartition","type":"boolean","description":"True if table or index is a partition","documented_type":"bool","hidden":false,"type_oid":16,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrewrite","type":"oid","description":"For new relations being written during a DDL operation that requires a table rewrite, this contains the OID of the original relation; otherwise zero. That state is only visible internally; this field should never contain anything other than zero for a user-visible relation.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. Zero (InvalidTransactionId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relminmxid","type":"xid","description":"All multixact IDs before this one have been replaced by a transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. Zero (InvalidMultiXactId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":31,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"reloptions","type":"text[]","description":"Access-method-specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":32,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"relpartbound","type":"pg_node_tree","description":"If table is a partition (see relispartition), internal representation of the partition bound","hidden":false,"type_oid":194,"attnum":33,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-class.html","source_path":"sources/postgresql/14/catalog-pg-class.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_class.h","definition_source_path":"sources/postgresql/14/source/pg_class.h","source_column_count":33,"documentary_schema_source":"documentation","relation_oid":1259,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_class describes tables and other objects that have columns or are otherwise similar to a table. This includes indexes (but see also pg_index), sequences (but see also pg_sequence), views, materialized views, composite types, and TOAST tables; see relkind. Below, when we mean all of these kinds of objects we speak of “relations”. Not all of pg_class's columns are meaningful for all relation kinds.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relname","type":"name","description":"Name of the table, index, view, etc.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnamespace","type":"oid","description":"The OID of the namespace that contains this relation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltype","type":"oid","description":"The OID of the data type that corresponds to this table's row type, if any; zero for indexes, sequences, and toast tables, which have no pg_type entry","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reloftype","type":"oid","description":"For typed tables, the OID of the underlying composite type; zero for all other relations","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relowner","type":"oid","description":"Owner of the relation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relam","type":"oid","description":"If this is a table or an index, the access method used (heap, B-tree, hash, etc.); otherwise zero (zero occurs for sequences, as well as relations without storage, such as views)","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfilenode","type":"oid","description":"Name of the on-disk file of this relation; zero means this is a “mapped” relation whose disk file name is determined by low-level state","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltablespace","type":"oid","description":"The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. Not meaningful if the relation has no on-disk file, except for partitioned tables, where this is the tablespace in which partitions will be created when one is not specified in the creation command.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpages","type":"integer","description":"Size of the on-disk representation of this table in pages (of size BLCKSZ). This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltuples","type":"real","description":"Number of live rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX. If the table has never yet been vacuumed or analyzed, reltuples contains -1 indicating that the row count is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relallvisible","type":"integer","description":"Number of pages that are marked all-visible in the table's visibility map. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastrelid","type":"oid","description":"OID of the TOAST table associated with this table, zero if none. The TOAST table stores large attributes “out of line” in a secondary table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasindex","type":"boolean","description":"True if this is a table and it has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relisshared","type":"boolean","description":"True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database) are shared.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpersistence","type":"\"char\"","description":"p = permanent table/sequence, u = unlogged table/sequence, t = temporary table/sequence","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relkind","type":"\"char\"","description":"r = ordinary table, i = index, S = sequence, t = TOAST table, v = view, m = materialized view, c = composite type, f = foreign table, p = partitioned table, I = partitioned index","documented_type":"char","hidden":false,"type_oid":18,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnatts","type":"smallint","description":"Number of user columns in the relation (system columns not counted). There must be this many corresponding entries in pg_attribute. See also pg_attribute.attnum.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relchecks","type":"smallint","description":"Number of CHECK constraints on the table; see pg_constraint catalog","documented_type":"int2","hidden":false,"type_oid":21,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasrules","type":"boolean","description":"True if table has (or once had) rules; see pg_rewrite catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhastriggers","type":"boolean","description":"True if table has (or once had) triggers; see pg_trigger catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhassubclass","type":"boolean","description":"True if table or index has (or once had) any inheritance children or partitions","documented_type":"bool","hidden":false,"type_oid":16,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrowsecurity","type":"boolean","description":"True if table has row-level security enabled; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relforcerowsecurity","type":"boolean","description":"True if row-level security (when enabled) will also apply to table owner; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispopulated","type":"boolean","description":"True if relation is populated (this is true for all relations other than some materialized views)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relreplident","type":"\"char\"","description":"Columns used to form “replica identity” for rows: d = default (primary key, if any), n = nothing, f = all columns, i = index with indisreplident set (same as nothing if the index used has been dropped)","documented_type":"char","hidden":false,"type_oid":18,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispartition","type":"boolean","description":"True if table or index is a partition","documented_type":"bool","hidden":false,"type_oid":16,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrewrite","type":"oid","description":"For new relations being written during a DDL operation that requires a table rewrite, this contains the OID of the original relation; otherwise zero. That state is only visible internally; this field should never contain anything other than zero for a user-visible relation.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. Zero (InvalidTransactionId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relminmxid","type":"xid","description":"All multixact IDs before this one have been replaced by a transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. Zero (InvalidMultiXactId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":31,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"reloptions","type":"text[]","description":"Access-method-specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":32,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"relpartbound","type":"pg_node_tree","description":"If table is a partition (see relispartition), internal representation of the partition bound","hidden":false,"type_oid":194,"attnum":33,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-class.html","source_path":"sources/postgresql/15/catalog-pg-class.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_class.h","definition_source_path":"sources/postgresql/15/source/pg_class.h","source_column_count":33,"documentary_schema_source":"documentation","relation_oid":1259,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_class describes tables and other objects that have columns or are otherwise similar to a table. This includes indexes (but see also pg_index), sequences (but see also pg_sequence), views, materialized views, composite types, and TOAST tables; see relkind. Below, when we mean all of these kinds of objects we speak of “relations”. Not all of pg_class's columns are meaningful for all relation kinds.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relname","type":"name","description":"Name of the table, index, view, etc.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnamespace","type":"oid","description":"The OID of the namespace that contains this relation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltype","type":"oid","description":"The OID of the data type that corresponds to this table's row type, if any; zero for indexes, sequences, and toast tables, which have no pg_type entry","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reloftype","type":"oid","description":"For typed tables, the OID of the underlying composite type; zero for all other relations","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relowner","type":"oid","description":"Owner of the relation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relam","type":"oid","description":"If this is a table or an index, the access method used (heap, B-tree, hash, etc.); otherwise zero (zero occurs for sequences, as well as relations without storage, such as views)","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfilenode","type":"oid","description":"Name of the on-disk file of this relation; zero means this is a “mapped” relation whose disk file name is determined by low-level state","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltablespace","type":"oid","description":"The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. Not meaningful if the relation has no on-disk file, except for partitioned tables, where this is the tablespace in which partitions will be created when one is not specified in the creation command.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpages","type":"integer","description":"Size of the on-disk representation of this table in pages (of size BLCKSZ). This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltuples","type":"real","description":"Number of live rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX. If the table has never yet been vacuumed or analyzed, reltuples contains -1 indicating that the row count is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relallvisible","type":"integer","description":"Number of pages that are marked all-visible in the table's visibility map. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastrelid","type":"oid","description":"OID of the TOAST table associated with this table, zero if none. The TOAST table stores large attributes “out of line” in a secondary table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasindex","type":"boolean","description":"True if this is a table and it has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relisshared","type":"boolean","description":"True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database) are shared.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpersistence","type":"\"char\"","description":"p = permanent table/sequence, u = unlogged table/sequence, t = temporary table/sequence","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relkind","type":"\"char\"","description":"r = ordinary table, i = index, S = sequence, t = TOAST table, v = view, m = materialized view, c = composite type, f = foreign table, p = partitioned table, I = partitioned index","documented_type":"char","hidden":false,"type_oid":18,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnatts","type":"smallint","description":"Number of user columns in the relation (system columns not counted). There must be this many corresponding entries in pg_attribute. See also pg_attribute.attnum.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relchecks","type":"smallint","description":"Number of CHECK constraints on the table; see pg_constraint catalog","documented_type":"int2","hidden":false,"type_oid":21,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasrules","type":"boolean","description":"True if table has (or once had) rules; see pg_rewrite catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhastriggers","type":"boolean","description":"True if table has (or once had) triggers; see pg_trigger catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhassubclass","type":"boolean","description":"True if table or index has (or once had) any inheritance children or partitions","documented_type":"bool","hidden":false,"type_oid":16,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrowsecurity","type":"boolean","description":"True if table has row-level security enabled; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relforcerowsecurity","type":"boolean","description":"True if row-level security (when enabled) will also apply to table owner; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispopulated","type":"boolean","description":"True if relation is populated (this is true for all relations other than some materialized views)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relreplident","type":"\"char\"","description":"Columns used to form “replica identity” for rows: d = default (primary key, if any), n = nothing, f = all columns, i = index with indisreplident set (same as nothing if the index used has been dropped)","documented_type":"char","hidden":false,"type_oid":18,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispartition","type":"boolean","description":"True if table or index is a partition","documented_type":"bool","hidden":false,"type_oid":16,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrewrite","type":"oid","description":"For new relations being written during a DDL operation that requires a table rewrite, this contains the OID of the original relation; otherwise zero. That state is only visible internally; this field should never contain anything other than zero for a user-visible relation.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. Zero (InvalidTransactionId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relminmxid","type":"xid","description":"All multixact IDs before this one have been replaced by a transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. Zero (InvalidMultiXactId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":31,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"reloptions","type":"text[]","description":"Access-method-specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":32,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"relpartbound","type":"pg_node_tree","description":"If table is a partition (see relispartition), internal representation of the partition bound","hidden":false,"type_oid":194,"attnum":33,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-class.html","source_path":"sources/postgresql/16/catalog-pg-class.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_class.h","definition_source_path":"sources/postgresql/16/source/pg_class.h","source_column_count":33,"documentary_schema_source":"documentation","relation_oid":1259,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_class describes tables and other objects that have columns or are otherwise similar to a table. This includes indexes (but see also pg_index), sequences (but see also pg_sequence), views, materialized views, composite types, and TOAST tables; see relkind. Below, when we mean all of these kinds of objects we speak of “relations”. Not all of pg_class's columns are meaningful for all relation kinds.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relname","type":"name","description":"Name of the table, index, view, etc.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnamespace","type":"oid","description":"The OID of the namespace that contains this relation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltype","type":"oid","description":"The OID of the data type that corresponds to this table's row type, if any; zero for indexes, sequences, and toast tables, which have no pg_type entry","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reloftype","type":"oid","description":"For typed tables, the OID of the underlying composite type; zero for all other relations","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relowner","type":"oid","description":"Owner of the relation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relam","type":"oid","description":"The access method used to access this table or index. Not meaningful if the relation is a sequence or has no on-disk file, except for partitioned tables, where, if set, it takes precedence over default_table_access_method when determining the access method to use for partitions created when one is not specified in the creation command.","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfilenode","type":"oid","description":"Name of the on-disk file of this relation; zero means this is a “mapped” relation whose disk file name is determined by low-level state","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltablespace","type":"oid","description":"The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. Not meaningful if the relation has no on-disk file, except for partitioned tables, where this is the tablespace in which partitions will be created when one is not specified in the creation command.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpages","type":"integer","description":"Size of the on-disk representation of this table in pages (of size BLCKSZ). This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltuples","type":"real","description":"Number of live rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX. If the table has never yet been vacuumed or analyzed, reltuples contains -1 indicating that the row count is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relallvisible","type":"integer","description":"Number of pages that are marked all-visible in the table's visibility map. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastrelid","type":"oid","description":"OID of the TOAST table associated with this table, zero if none. The TOAST table stores large attributes “out of line” in a secondary table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasindex","type":"boolean","description":"True if this is a table and it has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relisshared","type":"boolean","description":"True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database) are shared.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpersistence","type":"\"char\"","description":"p = permanent table/sequence, u = unlogged table/sequence, t = temporary table/sequence","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relkind","type":"\"char\"","description":"r = ordinary table, i = index, S = sequence, t = TOAST table, v = view, m = materialized view, c = composite type, f = foreign table, p = partitioned table, I = partitioned index","documented_type":"char","hidden":false,"type_oid":18,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnatts","type":"smallint","description":"Number of user columns in the relation (system columns not counted). There must be this many corresponding entries in pg_attribute. See also pg_attribute.attnum.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relchecks","type":"smallint","description":"Number of CHECK constraints on the table; see pg_constraint catalog","documented_type":"int2","hidden":false,"type_oid":21,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasrules","type":"boolean","description":"True if table has (or once had) rules; see pg_rewrite catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhastriggers","type":"boolean","description":"True if table has (or once had) triggers; see pg_trigger catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhassubclass","type":"boolean","description":"True if table or index has (or once had) any inheritance children or partitions","documented_type":"bool","hidden":false,"type_oid":16,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrowsecurity","type":"boolean","description":"True if table has row-level security enabled; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relforcerowsecurity","type":"boolean","description":"True if row-level security (when enabled) will also apply to table owner; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispopulated","type":"boolean","description":"True if relation is populated (this is true for all relations other than some materialized views)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relreplident","type":"\"char\"","description":"Columns used to form “replica identity” for rows: d = default (primary key, if any), n = nothing, f = all columns, i = index with indisreplident set (same as nothing if the index used has been dropped)","documented_type":"char","hidden":false,"type_oid":18,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispartition","type":"boolean","description":"True if table or index is a partition","documented_type":"bool","hidden":false,"type_oid":16,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrewrite","type":"oid","description":"For new relations being written during a DDL operation that requires a table rewrite, this contains the OID of the original relation; otherwise zero. That state is only visible internally; this field should never contain anything other than zero for a user-visible relation.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. Zero (InvalidTransactionId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relminmxid","type":"xid","description":"All multixact IDs before this one have been replaced by a transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. Zero (InvalidMultiXactId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relacl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":31,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"reloptions","type":"text[]","description":"Access-method-specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":32,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"relpartbound","type":"pg_node_tree","description":"If table is a partition (see relispartition), internal representation of the partition bound","hidden":false,"type_oid":194,"attnum":33,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-class.html","source_path":"sources/postgresql/17/catalog-pg-class.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_class.h","definition_source_path":"sources/postgresql/17/source/pg_class.h","source_column_count":33,"documentary_schema_source":"documentation","relation_oid":1259,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_class describes tables and other objects that have columns or are otherwise similar to a table. This includes indexes (but see also pg_index), sequences (but see also pg_sequence), views, materialized views, composite types, and TOAST tables; see relkind. Below, when we mean all of these kinds of objects we speak of “relations”. Not all of pg_class's columns are meaningful for all relation kinds.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relname","type":"name","description":"Name of the table, index, view, etc.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnamespace","type":"oid","description":"The OID of the namespace that contains this relation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltype","type":"oid","description":"The OID of the data type that corresponds to this table's row type, if any; zero for indexes, sequences, and toast tables, which have no pg_type entry","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reloftype","type":"oid","description":"For typed tables, the OID of the underlying composite type; zero for all other relations","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relowner","type":"oid","description":"Owner of the relation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relam","type":"oid","description":"The access method used to access this table or index. Not meaningful if the relation is a sequence or has no on-disk file, except for partitioned tables, where, if set, it takes precedence over default_table_access_method when determining the access method to use for partitions created when one is not specified in the creation command.","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfilenode","type":"oid","description":"Name of the on-disk file of this relation; zero means this is a “mapped” relation whose disk file name is determined by low-level state","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltablespace","type":"oid","description":"The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. Not meaningful if the relation has no on-disk file, except for partitioned tables, where this is the tablespace in which partitions will be created when one is not specified in the creation command.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpages","type":"integer","description":"Size of the on-disk representation of this table in pages (of size BLCKSZ). This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltuples","type":"real","description":"Number of live rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX. If the table has never yet been vacuumed or analyzed, reltuples contains -1 indicating that the row count is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relallvisible","type":"integer","description":"Number of pages that are marked all-visible in the table's visibility map. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relallfrozen","type":"integer","description":"Number of pages that are marked all-frozen in the table's visibility map. This is only an estimate used for triggering autovacuums. It can also be used along with relallvisible for scheduling manual vacuums and tuning vacuum's freezing behavior. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastrelid","type":"oid","description":"OID of the TOAST table associated with this table, zero if none. The TOAST table stores large attributes “out of line” in a secondary table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasindex","type":"boolean","description":"True if this is a table and it has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relisshared","type":"boolean","description":"True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database) are shared.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpersistence","type":"\"char\"","description":"p = permanent table/sequence, u = unlogged table/sequence, t = temporary table/sequence","documented_type":"char","hidden":false,"type_oid":18,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relkind","type":"\"char\"","description":"r = ordinary table, i = index, S = sequence, t = TOAST table, v = view, m = materialized view, c = composite type, f = foreign table, p = partitioned table, I = partitioned index","documented_type":"char","hidden":false,"type_oid":18,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnatts","type":"smallint","description":"Number of user columns in the relation (system columns not counted). There must be this many corresponding entries in pg_attribute. See also pg_attribute.attnum.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relchecks","type":"smallint","description":"Number of CHECK constraints on the table; see pg_constraint catalog","documented_type":"int2","hidden":false,"type_oid":21,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasrules","type":"boolean","description":"True if table has (or once had) rules; see pg_rewrite catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhastriggers","type":"boolean","description":"True if table has (or once had) triggers; see pg_trigger catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhassubclass","type":"boolean","description":"True if table or index has (or once had) any inheritance children or partitions","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrowsecurity","type":"boolean","description":"True if table has row-level security enabled; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relforcerowsecurity","type":"boolean","description":"True if row-level security (when enabled) will also apply to table owner; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispopulated","type":"boolean","description":"True if relation is populated (this is true for all relations other than some materialized views)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relreplident","type":"\"char\"","description":"Columns used to form “replica identity” for rows: d = default (primary key, if any), n = nothing, f = all columns, i = index with indisreplident set (same as nothing if the index used has been dropped)","documented_type":"char","hidden":false,"type_oid":18,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispartition","type":"boolean","description":"True if table or index is a partition","documented_type":"bool","hidden":false,"type_oid":16,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrewrite","type":"oid","description":"For new relations being written during a DDL operation that requires a table rewrite, this contains the OID of the original relation; otherwise zero. That state is only visible internally; this field should never contain anything other than zero for a user-visible relation.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. Zero (InvalidTransactionId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relminmxid","type":"xid","description":"All multixact IDs before this one have been replaced by a transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. Zero (InvalidMultiXactId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relacl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":32,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"reloptions","type":"text[]","description":"Access-method-specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":33,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"relpartbound","type":"pg_node_tree","description":"If table is a partition (see relispartition), internal representation of the partition bound","hidden":false,"type_oid":194,"attnum":34,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-class.html","source_path":"sources/postgresql/18/catalog-pg-class.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_class.h","definition_source_path":"sources/postgresql/18/source/pg_class.h","source_column_count":34,"documentary_schema_source":"documentation","relation_oid":1259,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_class describes tables and other objects that have columns or are otherwise similar to a table. This includes indexes (but see also pg_index), sequences (but see also pg_sequence), views, materialized views, composite types, and TOAST tables; see relkind. Below, when we mean all of these kinds of objects we speak of “relations”. Not all of pg_class's columns are meaningful for all relation kinds.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relname","type":"name","description":"Name of the table, index, view, etc.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnamespace","type":"oid","description":"The OID of the namespace that contains this relation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltype","type":"oid","description":"The OID of the data type that corresponds to this table's row type, if any; zero for indexes, sequences, and TOAST tables, which have no pg_type entry","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reloftype","type":"oid","description":"For typed tables, the OID of the underlying composite type; zero for all other relations","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relowner","type":"oid","description":"Owner of the relation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relam","type":"oid","description":"The access method used to access this table or index. Not meaningful if the relation is a sequence or has no on-disk file, except for partitioned tables, where, if set, it takes precedence over default_table_access_method when determining the access method to use for partitions created when one is not specified in the creation command.","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfilenode","type":"oid","description":"Name of the on-disk file of this relation; zero means this is a “mapped” relation whose disk file name is determined by low-level state","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltablespace","type":"oid","description":"The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. Not meaningful if the relation has no on-disk file, except for partitioned tables, where this is the tablespace in which partitions will be created when one is not specified in the creation command.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpages","type":"integer","description":"Size of the on-disk representation of this table in pages (of size BLCKSZ). This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltuples","type":"real","description":"Number of live rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX. If the table has never yet been vacuumed or analyzed, reltuples contains -1 indicating that the row count is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relallvisible","type":"integer","description":"Number of pages that are marked all-visible in the table's visibility map. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relallfrozen","type":"integer","description":"Number of pages that are marked all-frozen in the table's visibility map. This is only an estimate used for triggering autovacuums. It can also be used along with relallvisible for scheduling manual vacuums and tuning vacuum's freezing behavior. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"reltoastrelid","type":"oid","description":"OID of the TOAST table associated with this table, zero if none. The TOAST table stores large attributes “out of line” in a secondary table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasindex","type":"boolean","description":"True if this is a table and it has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relisshared","type":"boolean","description":"True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database) are shared.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpersistence","type":"\"char\"","description":"p = permanent table/sequence, u = unlogged table/sequence, t = temporary table/sequence","documented_type":"char","hidden":false,"type_oid":18,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relkind","type":"\"char\"","description":"r = ordinary table, i = index, S = sequence, t = TOAST table, v = view, m = materialized view, c = composite type, f = foreign table, p = partitioned table, I = partitioned index, g = property graph","documented_type":"char","hidden":false,"type_oid":18,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relnatts","type":"smallint","description":"Number of user columns in the relation (system columns not counted). There must be this many corresponding entries in pg_attribute. See also pg_attribute.attnum.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relchecks","type":"smallint","description":"Number of CHECK constraints on the table; see pg_constraint catalog","documented_type":"int2","hidden":false,"type_oid":21,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasrules","type":"boolean","description":"True if table has (or once had) rules; see pg_rewrite catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhastriggers","type":"boolean","description":"True if table has (or once had) triggers; see pg_trigger catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhassubclass","type":"boolean","description":"True if table or index has (or once had) any inheritance children or partitions","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrowsecurity","type":"boolean","description":"True if table has row-level security enabled; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relforcerowsecurity","type":"boolean","description":"True if row-level security (when enabled) will also apply to table owner; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispopulated","type":"boolean","description":"True if relation is populated (this is true for all relations other than some materialized views)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relreplident","type":"\"char\"","description":"Columns used to form “replica identity” for rows: d = default (primary key, if any), n = nothing, f = all columns, i = index with indisreplident set (same as nothing if the index used has been dropped)","documented_type":"char","hidden":false,"type_oid":18,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relispartition","type":"boolean","description":"True if table or index is a partition","documented_type":"bool","hidden":false,"type_oid":16,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relrewrite","type":"oid","description":"For new relations being written during a DDL operation that requires a table rewrite, this contains the OID of the original relation; otherwise zero. That state is only visible internally; this field should never contain anything other than zero for a user-visible relation.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. Zero (InvalidTransactionId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relminmxid","type":"xid","description":"All multixact IDs before this one have been replaced by a transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. Zero (InvalidMultiXactId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relacl","type":"aclitem[]","description":"Access privileges; see Section 5.9 for details","hidden":false,"type_oid":1034,"attnum":32,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"reloptions","type":"text[]","description":"Access-method-specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":33,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"relpartbound","type":"pg_node_tree","description":"If table is a partition (see relispartition), internal representation of the partition bound","hidden":false,"type_oid":194,"attnum":34,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-class.html","source_path":"sources/postgresql/19/catalog-pg-class.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_class.h","definition_source_path":"sources/postgresql/19/source/pg_class.h","source_column_count":34,"documentary_schema_source":"documentation","relation_oid":1259,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[{"name":"relpersistence","type":"\"char\"","description":"p = permanent table, u = unlogged table, t = temporary table","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[{"name":"relistemp","type":"boolean","description":"True if this table is a temporary relation. If so, only the creating session can safely access its contents.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relhasexclusion","type":"boolean","description":"For a table, true if the table has (or once had) any exclusion constraints; for an index, true if the index supports an exclusion constraint","documented_type":"bool","hidden":false,"type_oid":16,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"type_changes":[],"description_changes":[{"name":"relkind","from":"r = ordinary table, i = index, S = sequence, v = view, c = composite type, t = TOAST table","to":"r = ordinary table, i = index, S = sequence, v = view, c = composite type, t = TOAST table, f = foreign table"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[{"name":"relallvisible","type":"integer","description":"Number of pages that are marked all-visible in the table's visibility map. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.2","to":"9.3","status":"changed","added_columns":[{"name":"relispopulated","type":"boolean","description":"True if relation is populated (this is true for all relations other than some materialized views)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relminmxid","type":"xid","description":"All multixact IDs before this one have been replaced by a transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. Zero (InvalidMultiXactId) if the relation is not a table.","hidden":false,"type_oid":28,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"},{"name":"relkind","from":"r = ordinary table, i = index, S = sequence, v = view, c = composite type, t = TOAST table, f = foreign table","to":"r = ordinary table, i = index, S = sequence, v = view, m = materialized view, c = composite type, t = TOAST table, f = foreign table"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.3","to":"9.4","status":"changed","added_columns":[{"name":"relreplident","type":"\"char\"","description":"Columns used to form \"replica identity\" for rows: d = default (primary key, if any), n = nothing, f = all columns i = index with indisreplident set, or default","documented_type":"char","hidden":false,"type_oid":18,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[{"name":"reltoastidxid","type":"oid","description":"For a TOAST table, the OID of its index. 0 if not a TOAST table.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.4","to":"9.5","status":"changed","added_columns":[{"name":"relrowsecurity","type":"boolean","description":"True if table has row level security enabled; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relforcerowsecurity","type":"boolean","description":"True if row level security (when enabled) will also apply to table owner; see pg_policy catalog","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"relreplident","from":"Columns used to form \"replica identity\" for rows: d = default (primary key, if any), n = nothing, f = all columns i = index with indisreplident set, or default","to":"Columns used to form \"replica identity\" for rows: d = default (primary key, if any), n = nothing, f = all columns, i = index with indisreplident set (same as nothing if the index used has been dropped)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.6","to":"10","status":"changed","added_columns":[{"name":"relispartition","type":"boolean","description":"True if table is a partition","documented_type":"bool","hidden":false,"type_oid":16,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"relpartbound","type":"pg_node_tree","description":"If table is a partition (see relispartition), internal representation of the partition bound","hidden":false,"type_oid":194,"attnum":33,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"relfilenode","from":"Name of the on-disk file of this relation; zero means this is a \"mapped\" relation whose disk file name is determined by low-level state","to":"Name of the on-disk file of this relation; zero means this is a “mapped” relation whose disk file name is determined by low-level state"},{"name":"relfrozenxid","from":"All transaction IDs before this one have been replaced with a permanent (\"frozen\") transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_clog to be shrunk. Zero (InvalidTransactionId) if the relation is not a table.","to":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. Zero (InvalidTransactionId) if the relation is not a table."},{"name":"relkind","from":"r = ordinary table, i = index, S = sequence, v = view, m = materialized view, c = composite type, t = TOAST table, f = foreign table","to":"r = ordinary table, i = index, S = sequence, t = TOAST table, v = view, m = materialized view, c = composite type, f = foreign table, p = partitioned table"},{"name":"reloptions","from":"Access-method-specific options, as \"keyword=value\" strings","to":"Access-method-specific options, as “keyword=value” strings"},{"name":"relreplident","from":"Columns used to form \"replica identity\" for rows: d = default (primary key, if any), n = nothing, f = all columns, i = index with indisreplident set (same as nothing if the index used has been dropped)","to":"Columns used to form “replica identity” for rows: d = default (primary key, if any), n = nothing, f = all columns, i = index with indisreplident set (same as nothing if the index used has been dropped)"},{"name":"reltoastrelid","from":"OID of the TOAST table associated with this table, 0 if none. The TOAST table stores large attributes \"out of line\" in a secondary table.","to":"OID of the TOAST table associated with this table, 0 if none. The TOAST table stores large attributes “out of line” in a secondary table."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"10","to":"11","status":"changed","added_columns":[{"name":"relrewrite","type":"oid","description":"For new relations being written during a DDL operation that requires a table rewrite, this contains the OID of the original relation; otherwise 0. That state is only visible internally; this field should never contain anything other than 0 for a user-visible relation.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[{"name":"relhaspkey","type":"boolean","description":"True if the table has (or once had) a primary key","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"type_changes":[],"description_changes":[{"name":"relispartition","from":"True if table is a partition","to":"True if table or index is a partition"},{"name":"relkind","from":"r = ordinary table, i = index, S = sequence, t = TOAST table, v = view, m = materialized view, c = composite type, f = foreign table, p = partitioned table","to":"r = ordinary table, i = index, S = sequence, t = TOAST table, v = view, m = materialized view, c = composite type, f = foreign table, p = partitioned table, I = partitioned index"},{"name":"reltuples","from":"Number of rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","to":"Number of live rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[{"name":"relhasoids","type":"boolean","description":"True if we generate an OID for each row of the relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"},{"name":"relacl","from":"Access privileges; see GRANT and REVOKE for details","to":"Access privileges; see Section 5.7 for details"},{"name":"relam","from":"If this is an index, the access method used (B-tree, hash, etc.)","to":"If this is a table or an index, the access method used (heap, B-tree, hash, etc.)"},{"name":"relhassubclass","from":"True if table has (or once had) any inheritance children","to":"True if table or index has (or once had) any inheritance children"},{"name":"reltablespace","from":"The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. (Not meaningful if the relation has no on-disk file.)","to":"The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. Not meaningful if the relation has no on-disk file, except for partitioned tables, where this is the tablespace in which partitions will be created when one is not specified in the creation command."}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"relam","from":"If this is a table or an index, the access method used (heap, B-tree, hash, etc.)","to":"If this is a table or an index, the access method used (heap, B-tree, hash, etc.); otherwise zero (zero occurs for sequences, as well as relations without storage, such as views)"},{"name":"relforcerowsecurity","from":"True if row level security (when enabled) will also apply to table owner; see pg_policy catalog","to":"True if row-level security (when enabled) will also apply to table owner; see pg_policy catalog"},{"name":"reloftype","from":"For typed tables, the OID of the underlying composite type, zero for all other relations","to":"For typed tables, the OID of the underlying composite type; zero for all other relations"},{"name":"relrewrite","from":"For new relations being written during a DDL operation that requires a table rewrite, this contains the OID of the original relation; otherwise 0. That state is only visible internally; this field should never contain anything other than 0 for a user-visible relation.","to":"For new relations being written during a DDL operation that requires a table rewrite, this contains the OID of the original relation; otherwise zero. That state is only visible internally; this field should never contain anything other than zero for a user-visible relation."},{"name":"relrowsecurity","from":"True if table has row level security enabled; see pg_policy catalog","to":"True if table has row-level security enabled; see pg_policy catalog"},{"name":"reltoastrelid","from":"OID of the TOAST table associated with this table, 0 if none. The TOAST table stores large attributes “out of line” in a secondary table.","to":"OID of the TOAST table associated with this table, zero if none. The TOAST table stores large attributes “out of line” in a secondary table."},{"name":"reltuples","from":"Number of live rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","to":"Number of live rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX. If the table has never yet been vacuumed or analyzed, reltuples contains -1 indicating that the row count is unknown."},{"name":"reltype","from":"The OID of the data type that corresponds to this table's row type, if any (zero for indexes, which have no pg_type entry)","to":"The OID of the data type that corresponds to this table's row type, if any; zero for indexes, sequences, and toast tables, which have no pg_type entry"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"relhassubclass","from":"True if table or index has (or once had) any inheritance children","to":"True if table or index has (or once had) any inheritance children or partitions"},{"name":"relpersistence","from":"p = permanent table, u = unlogged table, t = temporary table","to":"p = permanent table/sequence, u = unlogged table/sequence, t = temporary table/sequence"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"relacl","from":"Access privileges; see Section 5.7 for details","to":"Access privileges; see Section 5.8 for details"},{"name":"relam","from":"If this is a table or an index, the access method used (heap, B-tree, hash, etc.); otherwise zero (zero occurs for sequences, as well as relations without storage, such as views)","to":"The access method used to access this table or index. Not meaningful if the relation is a sequence or has no on-disk file, except for partitioned tables, where, if set, it takes precedence over default_table_access_method when determining the access method to use for partitions created when one is not specified in the creation command."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"17","to":"18","status":"changed","added_columns":[{"name":"relallfrozen","type":"integer","description":"Number of pages that are marked all-frozen in the table's visibility map. This is only an estimate used for triggering autovacuums. It can also be used along with relallvisible for scheduling manual vacuums and tuning vacuum's freezing behavior. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"relacl","from":"Access privileges; see Section 5.8 for details","to":"Access privileges; see Section 5.9 for details"},{"name":"relkind","from":"r = ordinary table, i = index, S = sequence, t = TOAST table, v = view, m = materialized view, c = composite type, f = foreign table, p = partitioned table, I = partitioned index","to":"r = ordinary table, i = index, S = sequence, t = TOAST table, v = view, m = materialized view, c = composite type, f = foreign table, p = partitioned table, I = partitioned index, g = property graph"},{"name":"reltype","from":"The OID of the data type that corresponds to this table's row type, if any; zero for indexes, sequences, and toast tables, which have no pg_type entry","to":"The OID of the data type that corresponds to this table's row type, if any; zero for indexes, sequences, and TOAST tables, which have no pg_type entry"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_collation","kind":"catalog","summary":"collations (locale information)","first_version":"9.1","last_version":"19","versions":{"9.1":{"description":"The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. See Section 22.2 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_collation.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collname","type":"name","description":"Collation name (unique per namespace and encoding)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collnamespace","type":"oid","description":"The OID of the namespace that contains this collation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collowner","type":"oid","description":"Owner of the collation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collencoding","type":"integer","description":"Encoding in which the collation is applicable, or -1 if it works for any encoding","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collcollate","type":"name","description":"LC_COLLATE for this collation object","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collctype","type":"name","description":"LC_CTYPE for this collation object","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-collation.html","source_path":"sources/postgresql/9.1/catalog-pg-collation.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_collation.h","definition_source_path":"sources/postgresql/9.1/source/pg_collation.h","source_column_count":7,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3456,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. See Section 22.2 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_collation.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collname","type":"name","description":"Collation name (unique per namespace and encoding)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collnamespace","type":"oid","description":"The OID of the namespace that contains this collation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collowner","type":"oid","description":"Owner of the collation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collencoding","type":"integer","description":"Encoding in which the collation is applicable, or -1 if it works for any encoding","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collcollate","type":"name","description":"LC_COLLATE for this collation object","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collctype","type":"name","description":"LC_CTYPE for this collation object","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-collation.html","source_path":"sources/postgresql/9.2/catalog-pg-collation.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_collation.h","definition_source_path":"sources/postgresql/9.2/source/pg_collation.h","source_column_count":7,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3456,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. See Section 22.2 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collname","type":"name","description":"Collation name (unique per namespace and encoding)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collnamespace","type":"oid","description":"The OID of the namespace that contains this collation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collowner","type":"oid","description":"Owner of the collation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collencoding","type":"integer","description":"Encoding in which the collation is applicable, or -1 if it works for any encoding","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collcollate","type":"name","description":"LC_COLLATE for this collation object","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collctype","type":"name","description":"LC_CTYPE for this collation object","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-collation.html","source_path":"sources/postgresql/9.3/catalog-pg-collation.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_collation.h","definition_source_path":"sources/postgresql/9.3/source/pg_collation.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":3456,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. See Section 22.2 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collname","type":"name","description":"Collation name (unique per namespace and encoding)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collnamespace","type":"oid","description":"The OID of the namespace that contains this collation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collowner","type":"oid","description":"Owner of the collation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collencoding","type":"integer","description":"Encoding in which the collation is applicable, or -1 if it works for any encoding","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collcollate","type":"name","description":"LC_COLLATE for this collation object","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collctype","type":"name","description":"LC_CTYPE for this collation object","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-collation.html","source_path":"sources/postgresql/9.4/catalog-pg-collation.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_collation.h","definition_source_path":"sources/postgresql/9.4/source/pg_collation.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":3456,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. See Section 22.2 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collname","type":"name","description":"Collation name (unique per namespace and encoding)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collnamespace","type":"oid","description":"The OID of the namespace that contains this collation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collowner","type":"oid","description":"Owner of the collation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collencoding","type":"integer","description":"Encoding in which the collation is applicable, or -1 if it works for any encoding","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collcollate","type":"name","description":"LC_COLLATE for this collation object","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collctype","type":"name","description":"LC_CTYPE for this collation object","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-collation.html","source_path":"sources/postgresql/9.5/catalog-pg-collation.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_collation.h","definition_source_path":"sources/postgresql/9.5/source/pg_collation.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":3456,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. See Section 23.2 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collname","type":"name","description":"Collation name (unique per namespace and encoding)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collnamespace","type":"oid","description":"The OID of the namespace that contains this collation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collowner","type":"oid","description":"Owner of the collation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collencoding","type":"integer","description":"Encoding in which the collation is applicable, or -1 if it works for any encoding","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collcollate","type":"name","description":"LC_COLLATE for this collation object","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collctype","type":"name","description":"LC_CTYPE for this collation object","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-collation.html","source_path":"sources/postgresql/9.6/catalog-pg-collation.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_collation.h","definition_source_path":"sources/postgresql/9.6/source/pg_collation.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":3456,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. See Section 23.2 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collname","type":"name","description":"Collation name (unique per namespace and encoding)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collnamespace","type":"oid","description":"The OID of the namespace that contains this collation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collowner","type":"oid","description":"Owner of the collation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collprovider","type":"\"char\"","description":"Provider of the collation: d = database default, c = libc, i = icu","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collencoding","type":"integer","description":"Encoding in which the collation is applicable, or -1 if it works for any encoding","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collcollate","type":"name","description":"LC_COLLATE for this collation object","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collctype","type":"name","description":"LC_CTYPE for this collation object","hidden":false,"type_oid":19,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collversion","type":"text","description":"Provider-specific version of the collation. This is recorded when the collation is created and then checked when it is used, to detect changes in the collation definition that could lead to data corruption.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-collation.html","source_path":"sources/postgresql/10/catalog-pg-collation.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_collation.h","definition_source_path":"sources/postgresql/10/source/pg_collation.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":3456,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. See Section 23.2 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collname","type":"name","description":"Collation name (unique per namespace and encoding)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collnamespace","type":"oid","description":"The OID of the namespace that contains this collation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collowner","type":"oid","description":"Owner of the collation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collprovider","type":"\"char\"","description":"Provider of the collation: d = database default, c = libc, i = icu","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collencoding","type":"integer","description":"Encoding in which the collation is applicable, or -1 if it works for any encoding","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collcollate","type":"name","description":"LC_COLLATE for this collation object","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collctype","type":"name","description":"LC_CTYPE for this collation object","hidden":false,"type_oid":19,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collversion","type":"text","description":"Provider-specific version of the collation. This is recorded when the collation is created and then checked when it is used, to detect changes in the collation definition that could lead to data corruption.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-collation.html","source_path":"sources/postgresql/11/catalog-pg-collation.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_collation.h","definition_source_path":"sources/postgresql/11/source/pg_collation.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":3456,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. See Section 23.2 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collname","type":"name","description":"Collation name (unique per namespace and encoding)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collnamespace","type":"oid","description":"The OID of the namespace that contains this collation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collowner","type":"oid","description":"Owner of the collation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collprovider","type":"\"char\"","description":"Provider of the collation: d = database default, c = libc, i = icu","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collisdeterministic","type":"boolean","description":"Is the collation deterministic?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collencoding","type":"integer","description":"Encoding in which the collation is applicable, or -1 if it works for any encoding","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collcollate","type":"name","description":"LC_COLLATE for this collation object","hidden":false,"type_oid":19,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collctype","type":"name","description":"LC_CTYPE for this collation object","hidden":false,"type_oid":19,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collversion","type":"text","description":"Provider-specific version of the collation. This is recorded when the collation is created and then checked when it is used, to detect changes in the collation definition that could lead to data corruption.","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-collation.html","source_path":"sources/postgresql/12/catalog-pg-collation.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_collation.h","definition_source_path":"sources/postgresql/12/source/pg_collation.h","source_column_count":10,"documentary_schema_source":"documentation","relation_oid":3456,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. See Section 23.2 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collname","type":"name","description":"Collation name (unique per namespace and encoding)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collnamespace","type":"oid","description":"The OID of the namespace that contains this collation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collowner","type":"oid","description":"Owner of the collation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collprovider","type":"\"char\"","description":"Provider of the collation: d = database default, c = libc, i = icu","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collisdeterministic","type":"boolean","description":"Is the collation deterministic?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collencoding","type":"integer","description":"Encoding in which the collation is applicable, or -1 if it works for any encoding","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collcollate","type":"name","description":"LC_COLLATE for this collation object","hidden":false,"type_oid":19,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collctype","type":"name","description":"LC_CTYPE for this collation object","hidden":false,"type_oid":19,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collversion","type":"text","description":"Provider-specific version of the collation. This is recorded when the collation is created and then checked when it is used, to detect changes in the collation definition that could lead to data corruption.","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-collation.html","source_path":"sources/postgresql/13/catalog-pg-collation.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_collation.h","definition_source_path":"sources/postgresql/13/source/pg_collation.h","source_column_count":10,"documentary_schema_source":"documentation","relation_oid":3456,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. See Section 24.2 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collname","type":"name","description":"Collation name (unique per namespace and encoding)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collnamespace","type":"oid","description":"The OID of the namespace that contains this collation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collowner","type":"oid","description":"Owner of the collation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collprovider","type":"\"char\"","description":"Provider of the collation: d = database default, c = libc, i = icu","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collisdeterministic","type":"boolean","description":"Is the collation deterministic?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collencoding","type":"integer","description":"Encoding in which the collation is applicable, or -1 if it works for any encoding","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collcollate","type":"name","description":"LC_COLLATE for this collation object","hidden":false,"type_oid":19,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collctype","type":"name","description":"LC_CTYPE for this collation object","hidden":false,"type_oid":19,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collversion","type":"text","description":"Provider-specific version of the collation. This is recorded when the collation is created and then checked when it is used, to detect changes in the collation definition that could lead to data corruption.","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-collation.html","source_path":"sources/postgresql/14/catalog-pg-collation.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_collation.h","definition_source_path":"sources/postgresql/14/source/pg_collation.h","source_column_count":10,"documentary_schema_source":"documentation","relation_oid":3456,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. See Section 24.2 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collname","type":"name","description":"Collation name (unique per namespace and encoding)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collnamespace","type":"oid","description":"The OID of the namespace that contains this collation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collowner","type":"oid","description":"Owner of the collation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collprovider","type":"\"char\"","description":"Provider of the collation: d = database default, c = libc, i = icu","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collisdeterministic","type":"boolean","description":"Is the collation deterministic?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collencoding","type":"integer","description":"Encoding in which the collation is applicable, or -1 if it works for any encoding","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collcollate","type":"text","description":"LC_COLLATE for this collation object","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"collctype","type":"text","description":"LC_CTYPE for this collation object","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"colliculocale","type":"text","description":"ICU locale ID for this collation object","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"collversion","type":"text","description":"Provider-specific version of the collation. This is recorded when the collation is created and then checked when it is used, to detect changes in the collation definition that could lead to data corruption.","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-collation.html","source_path":"sources/postgresql/15/catalog-pg-collation.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_collation.h","definition_source_path":"sources/postgresql/15/source/pg_collation.h","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":3456,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. See Section 24.2 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collname","type":"name","description":"Collation name (unique per namespace and encoding)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collnamespace","type":"oid","description":"The OID of the namespace that contains this collation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collowner","type":"oid","description":"Owner of the collation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collprovider","type":"\"char\"","description":"Provider of the collation: d = database default, c = libc, i = icu","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collisdeterministic","type":"boolean","description":"Is the collation deterministic?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collencoding","type":"integer","description":"Encoding in which the collation is applicable, or -1 if it works for any encoding","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collcollate","type":"text","description":"LC_COLLATE for this collation object","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"collctype","type":"text","description":"LC_CTYPE for this collation object","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"colliculocale","type":"text","description":"ICU locale ID for this collation object","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"collicurules","type":"text","description":"ICU collation rules for this collation object","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"collversion","type":"text","description":"Provider-specific version of the collation. This is recorded when the collation is created and then checked when it is used, to detect changes in the collation definition that could lead to data corruption.","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-collation.html","source_path":"sources/postgresql/16/catalog-pg-collation.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_collation.h","definition_source_path":"sources/postgresql/16/source/pg_collation.h","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":3456,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. See Section 23.2 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collname","type":"name","description":"Collation name (unique per namespace and encoding)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collnamespace","type":"oid","description":"The OID of the namespace that contains this collation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collowner","type":"oid","description":"Owner of the collation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collprovider","type":"\"char\"","description":"Provider of the collation: d = database default, b = builtin, c = libc, i = icu","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collisdeterministic","type":"boolean","description":"Is the collation deterministic?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collencoding","type":"integer","description":"Encoding in which the collation is applicable, or -1 if it works for any encoding","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collcollate","type":"text","description":"LC_COLLATE for this collation object. If the provider is not libc, collcollate is NULL and colllocale is used instead.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"collctype","type":"text","description":"LC_CTYPE for this collation object. If the provider is not libc, collctype is NULL and colllocale is used instead.","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"colllocale","type":"text","description":"Collation provider locale name for this collation object. If the provider is libc, colllocale is NULL; collcollate and collctype are used instead.","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"collicurules","type":"text","description":"ICU collation rules for this collation object","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"collversion","type":"text","description":"Provider-specific version of the collation. This is recorded when the collation is created and then checked when it is used, to detect changes in the collation definition that could lead to data corruption.","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-collation.html","source_path":"sources/postgresql/17/catalog-pg-collation.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_collation.h","definition_source_path":"sources/postgresql/17/source/pg_collation.h","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":3456,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. See Section 23.2 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collname","type":"name","description":"Collation name (unique per namespace and encoding)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collnamespace","type":"oid","description":"The OID of the namespace that contains this collation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collowner","type":"oid","description":"Owner of the collation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collprovider","type":"\"char\"","description":"Provider of the collation: d = database default, b = builtin, c = libc, i = icu","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collisdeterministic","type":"boolean","description":"Is the collation deterministic?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collencoding","type":"integer","description":"Encoding in which the collation is applicable, or -1 if it works for any encoding","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collcollate","type":"text","description":"LC_COLLATE for this collation object. If the provider is not libc, collcollate is NULL and colllocale is used instead.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"collctype","type":"text","description":"LC_CTYPE for this collation object. If the provider is not libc, collctype is NULL and colllocale is used instead.","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"colllocale","type":"text","description":"Collation provider locale name for this collation object. If the provider is libc, colllocale is NULL; collcollate and collctype are used instead.","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"collicurules","type":"text","description":"ICU collation rules for this collation object","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"collversion","type":"text","description":"Provider-specific version of the collation. This is recorded when the collation is created and then checked when it is used, to detect changes in the collation definition that could lead to data corruption.","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-collation.html","source_path":"sources/postgresql/18/catalog-pg-collation.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_collation.h","definition_source_path":"sources/postgresql/18/source/pg_collation.h","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":3456,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. See Section 23.2 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collname","type":"name","description":"Collation name (unique per namespace and encoding)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collnamespace","type":"oid","description":"The OID of the namespace that contains this collation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collowner","type":"oid","description":"Owner of the collation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collprovider","type":"\"char\"","description":"Provider of the collation: d = database default, b = builtin, c = libc, i = icu","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collisdeterministic","type":"boolean","description":"Is the collation deterministic?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collencoding","type":"integer","description":"Encoding in which the collation is applicable, or -1 if it works for any encoding","documented_type":"int4","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collcollate","type":"text","description":"LC_COLLATE for this collation object. If the provider is not libc, collcollate is NULL and colllocale is used instead.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"collctype","type":"text","description":"LC_CTYPE for this collation object. If the provider is not libc, collctype is NULL and colllocale is used instead.","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"colllocale","type":"text","description":"Collation provider locale name for this collation object. If the provider is libc, colllocale is NULL; collcollate and collctype are used instead.","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"collicurules","type":"text","description":"ICU collation rules for this collation object","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"collversion","type":"text","description":"Provider-specific version of the collation. This is recorded when the collation is created and then checked when it is used, to detect changes in the collation definition that could lead to data corruption.","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-collation.html","source_path":"sources/postgresql/19/catalog-pg-collation.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_collation.h","definition_source_path":"sources/postgresql/19/source/pg_collation.h","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":3456,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"added","added_columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_collation.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collname","type":"name","description":"Collation name (unique per namespace and encoding)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collnamespace","type":"oid","description":"The OID of the namespace that contains this collation","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collowner","type":"oid","description":"Owner of the collation","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collencoding","type":"integer","description":"Encoding in which the collation is applicable, or -1 if it works for any encoding","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collcollate","type":"name","description":"LC_COLLATE for this collation object","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collctype","type":"name","description":"LC_CTYPE for this collation object","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[{"name":"collprovider","type":"\"char\"","description":"Provider of the collation: d = database default, c = libc, i = icu","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"collversion","type":"text","description":"Provider-specific version of the collation. This is recorded when the collation is created and then checked when it is used, to detect changes in the collation definition that could lead to data corruption.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"11","to":"12","status":"changed","added_columns":[{"name":"collisdeterministic","type":"boolean","description":"Is the collation deterministic?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[{"name":"colliculocale","type":"text","description":"ICU locale ID for this collation object","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[{"name":"collcollate","from":"name","to":"text"},{"name":"collctype","from":"name","to":"text"}],"description_changes":[],"reference_changes":[],"attribute_changes":[{"name":"collcollate","attribute":"not_null","from":true,"to":false},{"name":"collctype","attribute":"not_null","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"15","to":"16","status":"changed","added_columns":[{"name":"collicurules","type":"text","description":"ICU collation rules for this collation object","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"16","to":"17","status":"changed","added_columns":[{"name":"colllocale","type":"text","description":"Collation provider locale name for this collation object. If the provider is libc, colllocale is NULL; collcollate and collctype are used instead.","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[{"name":"colliculocale","type":"text","description":"ICU locale ID for this collation object","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[{"name":"collcollate","from":"LC_COLLATE for this collation object","to":"LC_COLLATE for this collation object. If the provider is not libc, collcollate is NULL and colllocale is used instead."},{"name":"collctype","from":"LC_CTYPE for this collation object","to":"LC_CTYPE for this collation object. If the provider is not libc, collctype is NULL and colllocale is used instead."},{"name":"collprovider","from":"Provider of the collation: d = database default, c = libc, i = icu","to":"Provider of the collation: d = database default, b = builtin, c = libc, i = icu"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true}]},{"name":"pg_config","kind":"view","summary":"The view pg_config describes the compile-time configuration parameters of the currently installed version of PostgreSQL. It is intended, for example, to be used by software packages that want to interface to PostgreSQL to facilitate finding the required header files and libraries. It provides the same basic information as the pg_config PostgreSQL client application.","first_version":"9.6","last_version":"19","versions":{"9.6":{"description":"The view pg_config describes the compile-time configuration parameters of the currently installed version of PostgreSQL. It is intended, for example, to be used by software packages that want to interface to PostgreSQL to facilitate finding the required header files and libraries. It provides the same basic information as the pg_config PostgreSQL client application.\n\nBy default, the pg_config view can be read only by superusers.","columns":[{"name":"name","type":"text","description":"The parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"The parameter value","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-config.html","source_path":"sources/postgresql/9.6/view-pg-config.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11732,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The view pg_config describes the compile-time configuration parameters of the currently installed version of PostgreSQL. It is intended, for example, to be used by software packages that want to interface to PostgreSQL to facilitate finding the required header files and libraries. It provides the same basic information as the pg_config PostgreSQL client application.\n\nBy default, the pg_config view can be read only by superusers.","columns":[{"name":"name","type":"text","description":"The parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"The parameter value","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-config.html","source_path":"sources/postgresql/10/view-pg-config.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11617,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_config describes the compile-time configuration parameters of the currently installed version of PostgreSQL. It is intended, for example, to be used by software packages that want to interface to PostgreSQL to facilitate finding the required header files and libraries. It provides the same basic information as the pg_config PostgreSQL client application.\n\nBy default, the pg_config view can be read only by superusers.","columns":[{"name":"name","type":"text","description":"The parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"The parameter value","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-config.html","source_path":"sources/postgresql/11/view-pg-config.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11685,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_config describes the compile-time configuration parameters of the currently installed version of PostgreSQL. It is intended, for example, to be used by software packages that want to interface to PostgreSQL to facilitate finding the required header files and libraries. It provides the same basic information as the pg_config PostgreSQL client application.\n\nBy default, the pg_config view can be read only by superusers.","columns":[{"name":"name","type":"text","description":"The parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"The parameter value","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-config.html","source_path":"sources/postgresql/12/view-pg-config.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12183,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_config describes the compile-time configuration parameters of the currently installed version of PostgreSQL. It is intended, for example, to be used by software packages that want to interface to PostgreSQL to facilitate finding the required header files and libraries. It provides the same basic information as the pg_config PostgreSQL client application.\n\nBy default, the pg_config view can be read only by superusers.","columns":[{"name":"name","type":"text","description":"The parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"The parameter value","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-config.html","source_path":"sources/postgresql/13/view-pg-config.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12182,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_config describes the compile-time configuration parameters of the currently installed version of PostgreSQL. It is intended, for example, to be used by software packages that want to interface to PostgreSQL to facilitate finding the required header files and libraries. It provides the same basic information as the pg_config PostgreSQL client application.\n\nBy default, the pg_config view can be read only by superusers.","columns":[{"name":"name","type":"text","description":"The parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"The parameter value","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-config.html","source_path":"sources/postgresql/14/view-pg-config.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12343,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_config describes the compile-time configuration parameters of the currently installed version of PostgreSQL. It is intended, for example, to be used by software packages that want to interface to PostgreSQL to facilitate finding the required header files and libraries. It provides the same basic information as the pg_config PostgreSQL client application.\n\nBy default, the pg_config view can be read only by superusers.","columns":[{"name":"name","type":"text","description":"The parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"The parameter value","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-config.html","source_path":"sources/postgresql/15/view-pg-config.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12130,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_config describes the compile-time configuration parameters of the currently installed version of PostgreSQL. It is intended, for example, to be used by software packages that want to interface to PostgreSQL to facilitate finding the required header files and libraries. It provides the same basic information as the pg_config PostgreSQL client application.\n\nBy default, the pg_config view can be read only by superusers.","columns":[{"name":"name","type":"text","description":"The parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"The parameter value","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-config.html","source_path":"sources/postgresql/16/view-pg-config.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12130,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_config describes the compile-time configuration parameters of the currently installed version of PostgreSQL. It is intended, for example, to be used by software packages that want to interface to PostgreSQL to facilitate finding the required header files and libraries. It provides the same basic information as the pg_config PostgreSQL client application.\n\nBy default, the pg_config view can be read only by superusers.","columns":[{"name":"name","type":"text","description":"The parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"The parameter value","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-config.html","source_path":"sources/postgresql/17/view-pg-config.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12130,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_config describes the compile-time configuration parameters of the currently installed version of PostgreSQL. It is intended, for example, to be used by software packages that want to interface to PostgreSQL to facilitate finding the required header files and libraries. It provides the same basic information as the pg_config PostgreSQL client application.\n\nBy default, the pg_config view can be read only by superusers.","columns":[{"name":"name","type":"text","description":"The parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"The parameter value","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-config.html","source_path":"sources/postgresql/18/view-pg-config.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12130,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_config describes the compile-time configuration parameters of the currently installed version of PostgreSQL. It is intended, for example, to be used by software packages that want to interface to PostgreSQL to facilitate finding the required header files and libraries. It provides the same basic information as the pg_config PostgreSQL client application.\n\nBy default, the pg_config view can be read only by superusers.","columns":[{"name":"name","type":"text","description":"The parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"The parameter value","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-config.html","source_path":"sources/postgresql/19/view-pg-config.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12135,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.5","to":"9.6","status":"added","added_columns":[{"name":"name","type":"text","description":"The parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"The parameter value","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_constraint","kind":"catalog","summary":"check constraints, unique constraints, primary key constraints, foreign key constraints","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_constraint stores check, primary key, unique, foreign key, and exclusion constraints on tables. (Column constraints are not treated specially. Every column constraint is equivalent to some table constraint.) Not-null constraints are represented in the pg_attribute catalog, not here.\n\nUser-defined constraint triggers (created with CREATE CONSTRAINT TRIGGER) also give rise to an entry in this table.\n\nCheck constraints on domains are stored here, too.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_constraint.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Constraint name (not necessarily unique!)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this constraint","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contype","type":"\"char\"","description":"c = check constraint, f = foreign key constraint, p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferrable","type":"boolean","description":"Is the constraint deferrable?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferred","type":"boolean","description":"Is the constraint deferred by default?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conrelid","type":"oid","description":"The table this constraint is on; 0 if not a table constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contypid","type":"oid","description":"The domain this constraint is on; 0 if not a domain constraint","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conindid","type":"oid","description":"The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confrelid","type":"oid","description":"If a foreign key, the referenced table; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confupdtype","type":"\"char\"","description":"Foreign key update action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confdeltype","type":"\"char\"","description":"Foreign key deletion action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confmatchtype","type":"\"char\"","description":"Foreign key match type: f = full, p = partial, u = simple (unspecified)","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conislocal","type":"boolean","description":"This constraint is defined locally for the relation. Note that a constraint can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"coninhcount","type":"integer","description":"The number of direct inheritance ancestors this constraint has. A constraint with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conkey","type":"smallint[]","description":"If a table constraint (including foreign keys, but not constraint triggers), list of the constrained columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confkey","type":"smallint[]","description":"If a foreign key, list of the referenced columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":16,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conpfeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conppeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = PK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conffeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for FK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conexclop","type":"oid[]","description":"If an exclusion constraint, list of the per-column exclusion operators","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conbin","type":"text","description":"If a check constraint, an internal representation of the expression","hidden":false,"type_oid":25,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"consrc","type":"text","description":"If a check constraint, a human-readable representation of the expression","hidden":false,"type_oid":25,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-constraint.html","source_path":"sources/postgresql/9.0/catalog-pg-constraint.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_constraint.h","definition_source_path":"sources/postgresql/9.0/source/pg_constraint.h","source_column_count":23,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2606,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_constraint stores check, primary key, unique, foreign key, and exclusion constraints on tables. (Column constraints are not treated specially. Every column constraint is equivalent to some table constraint.) Not-null constraints are represented in the pg_attribute catalog, not here.\n\nUser-defined constraint triggers (created with CREATE CONSTRAINT TRIGGER) also give rise to an entry in this table.\n\nCheck constraints on domains are stored here, too.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_constraint.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Constraint name (not necessarily unique!)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this constraint","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contype","type":"\"char\"","description":"c = check constraint, f = foreign key constraint, p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferrable","type":"boolean","description":"Is the constraint deferrable?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferred","type":"boolean","description":"Is the constraint deferred by default?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"convalidated","type":"boolean","description":"Has the constraint been validated? Currently, can only be false for foreign keys","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conrelid","type":"oid","description":"The table this constraint is on; 0 if not a table constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contypid","type":"oid","description":"The domain this constraint is on; 0 if not a domain constraint","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conindid","type":"oid","description":"The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confrelid","type":"oid","description":"If a foreign key, the referenced table; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confupdtype","type":"\"char\"","description":"Foreign key update action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confdeltype","type":"\"char\"","description":"Foreign key deletion action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confmatchtype","type":"\"char\"","description":"Foreign key match type: f = full, p = partial, u = simple (unspecified)","documented_type":"char","hidden":false,"type_oid":18,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conislocal","type":"boolean","description":"This constraint is defined locally for the relation. Note that a constraint can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"coninhcount","type":"integer","description":"The number of direct inheritance ancestors this constraint has. A constraint with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conkey","type":"smallint[]","description":"If a table constraint (including foreign keys, but not constraint triggers), list of the constrained columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":16,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confkey","type":"smallint[]","description":"If a foreign key, list of the referenced columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conpfeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conppeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = PK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conffeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for FK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conexclop","type":"oid[]","description":"If an exclusion constraint, list of the per-column exclusion operators","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conbin","type":"pg_node_tree","description":"If a check constraint, an internal representation of the expression","hidden":false,"type_oid":194,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"consrc","type":"text","description":"If a check constraint, a human-readable representation of the expression","hidden":false,"type_oid":25,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-constraint.html","source_path":"sources/postgresql/9.1/catalog-pg-constraint.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_constraint.h","definition_source_path":"sources/postgresql/9.1/source/pg_constraint.h","source_column_count":24,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2606,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_constraint stores check, primary key, unique, foreign key, and exclusion constraints on tables. (Column constraints are not treated specially. Every column constraint is equivalent to some table constraint.) Not-null constraints are represented in the pg_attribute catalog, not here.\n\nUser-defined constraint triggers (created with CREATE CONSTRAINT TRIGGER) also give rise to an entry in this table.\n\nCheck constraints on domains are stored here, too.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_constraint.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Constraint name (not necessarily unique!)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this constraint","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contype","type":"\"char\"","description":"c = check constraint, f = foreign key constraint, p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferrable","type":"boolean","description":"Is the constraint deferrable?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferred","type":"boolean","description":"Is the constraint deferred by default?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"convalidated","type":"boolean","description":"Has the constraint been validated? Currently, can only be false for foreign keys and CHECK constraints","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conrelid","type":"oid","description":"The table this constraint is on; 0 if not a table constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contypid","type":"oid","description":"The domain this constraint is on; 0 if not a domain constraint","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conindid","type":"oid","description":"The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confrelid","type":"oid","description":"If a foreign key, the referenced table; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confupdtype","type":"\"char\"","description":"Foreign key update action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confdeltype","type":"\"char\"","description":"Foreign key deletion action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confmatchtype","type":"\"char\"","description":"Foreign key match type: f = full, p = partial, u = simple (unspecified)","documented_type":"char","hidden":false,"type_oid":18,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conislocal","type":"boolean","description":"This constraint is defined locally for the relation. Note that a constraint can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"coninhcount","type":"integer","description":"The number of direct inheritance ancestors this constraint has. A constraint with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connoinherit","type":"boolean","description":"This constraint is defined locally for the relation. It is a non-inheritable constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conkey","type":"smallint[]","description":"If a table constraint (including foreign keys, but not constraint triggers), list of the constrained columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confkey","type":"smallint[]","description":"If a foreign key, list of the referenced columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conpfeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conppeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = PK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conffeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for FK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conexclop","type":"oid[]","description":"If an exclusion constraint, list of the per-column exclusion operators","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conbin","type":"pg_node_tree","description":"If a check constraint, an internal representation of the expression","hidden":false,"type_oid":194,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"consrc","type":"text","description":"If a check constraint, a human-readable representation of the expression","hidden":false,"type_oid":25,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-constraint.html","source_path":"sources/postgresql/9.2/catalog-pg-constraint.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_constraint.h","definition_source_path":"sources/postgresql/9.2/source/pg_constraint.h","source_column_count":25,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2606,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_constraint stores check, primary key, unique, foreign key, and exclusion constraints on tables. (Column constraints are not treated specially. Every column constraint is equivalent to some table constraint.) Not-null constraints are represented in the pg_attribute catalog, not here.\n\nUser-defined constraint triggers (created with CREATE CONSTRAINT TRIGGER) also give rise to an entry in this table.\n\nCheck constraints on domains are stored here, too.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Constraint name (not necessarily unique!)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this constraint","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contype","type":"\"char\"","description":"c = check constraint, f = foreign key constraint, p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferrable","type":"boolean","description":"Is the constraint deferrable?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferred","type":"boolean","description":"Is the constraint deferred by default?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"convalidated","type":"boolean","description":"Has the constraint been validated? Currently, can only be false for foreign keys and CHECK constraints","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conrelid","type":"oid","description":"The table this constraint is on; 0 if not a table constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contypid","type":"oid","description":"The domain this constraint is on; 0 if not a domain constraint","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conindid","type":"oid","description":"The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confrelid","type":"oid","description":"If a foreign key, the referenced table; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confupdtype","type":"\"char\"","description":"Foreign key update action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confdeltype","type":"\"char\"","description":"Foreign key deletion action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confmatchtype","type":"\"char\"","description":"Foreign key match type: f = full, p = partial, s = simple","documented_type":"char","hidden":false,"type_oid":18,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conislocal","type":"boolean","description":"This constraint is defined locally for the relation. Note that a constraint can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"coninhcount","type":"integer","description":"The number of direct inheritance ancestors this constraint has. A constraint with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connoinherit","type":"boolean","description":"This constraint is defined locally for the relation. It is a non-inheritable constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conkey","type":"smallint[]","description":"If a table constraint (including foreign keys, but not constraint triggers), list of the constrained columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confkey","type":"smallint[]","description":"If a foreign key, list of the referenced columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conpfeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conppeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = PK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conffeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for FK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conexclop","type":"oid[]","description":"If an exclusion constraint, list of the per-column exclusion operators","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conbin","type":"pg_node_tree","description":"If a check constraint, an internal representation of the expression","hidden":false,"type_oid":194,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"consrc","type":"text","description":"If a check constraint, a human-readable representation of the expression","hidden":false,"type_oid":25,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-constraint.html","source_path":"sources/postgresql/9.3/catalog-pg-constraint.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_constraint.h","definition_source_path":"sources/postgresql/9.3/source/pg_constraint.h","source_column_count":25,"documentary_schema_source":"documentation","relation_oid":2606,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_constraint stores check, primary key, unique, foreign key, and exclusion constraints on tables. (Column constraints are not treated specially. Every column constraint is equivalent to some table constraint.) Not-null constraints are represented in the pg_attribute catalog, not here.\n\nUser-defined constraint triggers (created with CREATE CONSTRAINT TRIGGER) also give rise to an entry in this table.\n\nCheck constraints on domains are stored here, too.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Constraint name (not necessarily unique!)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this constraint","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contype","type":"\"char\"","description":"c = check constraint, f = foreign key constraint, p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferrable","type":"boolean","description":"Is the constraint deferrable?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferred","type":"boolean","description":"Is the constraint deferred by default?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"convalidated","type":"boolean","description":"Has the constraint been validated? Currently, can only be false for foreign keys and CHECK constraints","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conrelid","type":"oid","description":"The table this constraint is on; 0 if not a table constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contypid","type":"oid","description":"The domain this constraint is on; 0 if not a domain constraint","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conindid","type":"oid","description":"The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confrelid","type":"oid","description":"If a foreign key, the referenced table; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confupdtype","type":"\"char\"","description":"Foreign key update action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confdeltype","type":"\"char\"","description":"Foreign key deletion action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confmatchtype","type":"\"char\"","description":"Foreign key match type: f = full, p = partial, s = simple","documented_type":"char","hidden":false,"type_oid":18,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conislocal","type":"boolean","description":"This constraint is defined locally for the relation. Note that a constraint can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"coninhcount","type":"integer","description":"The number of direct inheritance ancestors this constraint has. A constraint with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connoinherit","type":"boolean","description":"This constraint is defined locally for the relation. It is a non-inheritable constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conkey","type":"smallint[]","description":"If a table constraint (including foreign keys, but not constraint triggers), list of the constrained columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confkey","type":"smallint[]","description":"If a foreign key, list of the referenced columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conpfeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conppeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = PK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conffeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for FK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conexclop","type":"oid[]","description":"If an exclusion constraint, list of the per-column exclusion operators","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conbin","type":"pg_node_tree","description":"If a check constraint, an internal representation of the expression","hidden":false,"type_oid":194,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"consrc","type":"text","description":"If a check constraint, a human-readable representation of the expression","hidden":false,"type_oid":25,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-constraint.html","source_path":"sources/postgresql/9.4/catalog-pg-constraint.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_constraint.h","definition_source_path":"sources/postgresql/9.4/source/pg_constraint.h","source_column_count":25,"documentary_schema_source":"documentation","relation_oid":2606,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_constraint stores check, primary key, unique, foreign key, and exclusion constraints on tables. (Column constraints are not treated specially. Every column constraint is equivalent to some table constraint.) Not-null constraints are represented in the pg_attribute catalog, not here.\n\nUser-defined constraint triggers (created with CREATE CONSTRAINT TRIGGER) also give rise to an entry in this table.\n\nCheck constraints on domains are stored here, too.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Constraint name (not necessarily unique!)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this constraint","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contype","type":"\"char\"","description":"c = check constraint, f = foreign key constraint, p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferrable","type":"boolean","description":"Is the constraint deferrable?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferred","type":"boolean","description":"Is the constraint deferred by default?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"convalidated","type":"boolean","description":"Has the constraint been validated? Currently, can only be false for foreign keys and CHECK constraints","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conrelid","type":"oid","description":"The table this constraint is on; 0 if not a table constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contypid","type":"oid","description":"The domain this constraint is on; 0 if not a domain constraint","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conindid","type":"oid","description":"The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confrelid","type":"oid","description":"If a foreign key, the referenced table; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confupdtype","type":"\"char\"","description":"Foreign key update action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confdeltype","type":"\"char\"","description":"Foreign key deletion action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confmatchtype","type":"\"char\"","description":"Foreign key match type: f = full, p = partial, s = simple","documented_type":"char","hidden":false,"type_oid":18,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conislocal","type":"boolean","description":"This constraint is defined locally for the relation. Note that a constraint can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"coninhcount","type":"integer","description":"The number of direct inheritance ancestors this constraint has. A constraint with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connoinherit","type":"boolean","description":"This constraint is defined locally for the relation. It is a non-inheritable constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conkey","type":"smallint[]","description":"If a table constraint (including foreign keys, but not constraint triggers), list of the constrained columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confkey","type":"smallint[]","description":"If a foreign key, list of the referenced columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conpfeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conppeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = PK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conffeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for FK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conexclop","type":"oid[]","description":"If an exclusion constraint, list of the per-column exclusion operators","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conbin","type":"pg_node_tree","description":"If a check constraint, an internal representation of the expression","hidden":false,"type_oid":194,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"consrc","type":"text","description":"If a check constraint, a human-readable representation of the expression","hidden":false,"type_oid":25,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-constraint.html","source_path":"sources/postgresql/9.5/catalog-pg-constraint.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_constraint.h","definition_source_path":"sources/postgresql/9.5/source/pg_constraint.h","source_column_count":25,"documentary_schema_source":"documentation","relation_oid":2606,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_constraint stores check, primary key, unique, foreign key, and exclusion constraints on tables. (Column constraints are not treated specially. Every column constraint is equivalent to some table constraint.) Not-null constraints are represented in the pg_attribute catalog, not here.\n\nUser-defined constraint triggers (created with CREATE CONSTRAINT TRIGGER) also give rise to an entry in this table.\n\nCheck constraints on domains are stored here, too.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Constraint name (not necessarily unique!)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this constraint","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contype","type":"\"char\"","description":"c = check constraint, f = foreign key constraint, p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferrable","type":"boolean","description":"Is the constraint deferrable?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferred","type":"boolean","description":"Is the constraint deferred by default?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"convalidated","type":"boolean","description":"Has the constraint been validated? Currently, can only be false for foreign keys and CHECK constraints","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conrelid","type":"oid","description":"The table this constraint is on; 0 if not a table constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contypid","type":"oid","description":"The domain this constraint is on; 0 if not a domain constraint","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conindid","type":"oid","description":"The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confrelid","type":"oid","description":"If a foreign key, the referenced table; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confupdtype","type":"\"char\"","description":"Foreign key update action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confdeltype","type":"\"char\"","description":"Foreign key deletion action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confmatchtype","type":"\"char\"","description":"Foreign key match type: f = full, p = partial, s = simple","documented_type":"char","hidden":false,"type_oid":18,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conislocal","type":"boolean","description":"This constraint is defined locally for the relation. Note that a constraint can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"coninhcount","type":"integer","description":"The number of direct inheritance ancestors this constraint has. A constraint with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connoinherit","type":"boolean","description":"This constraint is defined locally for the relation. It is a non-inheritable constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conkey","type":"smallint[]","description":"If a table constraint (including foreign keys, but not constraint triggers), list of the constrained columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confkey","type":"smallint[]","description":"If a foreign key, list of the referenced columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conpfeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conppeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = PK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conffeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for FK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conexclop","type":"oid[]","description":"If an exclusion constraint, list of the per-column exclusion operators","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conbin","type":"pg_node_tree","description":"If a check constraint, an internal representation of the expression","hidden":false,"type_oid":194,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"consrc","type":"text","description":"If a check constraint, a human-readable representation of the expression","hidden":false,"type_oid":25,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-constraint.html","source_path":"sources/postgresql/9.6/catalog-pg-constraint.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_constraint.h","definition_source_path":"sources/postgresql/9.6/source/pg_constraint.h","source_column_count":25,"documentary_schema_source":"documentation","relation_oid":2606,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_constraint stores check, primary key, unique, foreign key, and exclusion constraints on tables. (Column constraints are not treated specially. Every column constraint is equivalent to some table constraint.) Not-null constraints are represented in the pg_attribute catalog, not here.\n\nUser-defined constraint triggers (created with CREATE CONSTRAINT TRIGGER) also give rise to an entry in this table.\n\nCheck constraints on domains are stored here, too.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Constraint name (not necessarily unique!)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this constraint","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contype","type":"\"char\"","description":"c = check constraint, f = foreign key constraint, p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferrable","type":"boolean","description":"Is the constraint deferrable?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferred","type":"boolean","description":"Is the constraint deferred by default?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"convalidated","type":"boolean","description":"Has the constraint been validated? Currently, can only be false for foreign keys and CHECK constraints","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conrelid","type":"oid","description":"The table this constraint is on; 0 if not a table constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contypid","type":"oid","description":"The domain this constraint is on; 0 if not a domain constraint","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conindid","type":"oid","description":"The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confrelid","type":"oid","description":"If a foreign key, the referenced table; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confupdtype","type":"\"char\"","description":"Foreign key update action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confdeltype","type":"\"char\"","description":"Foreign key deletion action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confmatchtype","type":"\"char\"","description":"Foreign key match type: f = full, p = partial, s = simple","documented_type":"char","hidden":false,"type_oid":18,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conislocal","type":"boolean","description":"This constraint is defined locally for the relation. Note that a constraint can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"coninhcount","type":"integer","description":"The number of direct inheritance ancestors this constraint has. A constraint with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connoinherit","type":"boolean","description":"This constraint is defined locally for the relation. It is a non-inheritable constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conkey","type":"smallint[]","description":"If a table constraint (including foreign keys, but not constraint triggers), list of the constrained columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confkey","type":"smallint[]","description":"If a foreign key, list of the referenced columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conpfeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conppeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = PK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conffeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for FK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conexclop","type":"oid[]","description":"If an exclusion constraint, list of the per-column exclusion operators","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conbin","type":"pg_node_tree","description":"If a check constraint, an internal representation of the expression","hidden":false,"type_oid":194,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"consrc","type":"text","description":"If a check constraint, a human-readable representation of the expression","hidden":false,"type_oid":25,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-constraint.html","source_path":"sources/postgresql/10/catalog-pg-constraint.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_constraint.h","definition_source_path":"sources/postgresql/10/source/pg_constraint.h","source_column_count":25,"documentary_schema_source":"documentation","relation_oid":2606,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_constraint stores check, primary key, unique, foreign key, and exclusion constraints on tables. (Column constraints are not treated specially. Every column constraint is equivalent to some table constraint.) Not-null constraints are represented in the pg_attribute catalog, not here.\n\nUser-defined constraint triggers (created with CREATE CONSTRAINT TRIGGER) also give rise to an entry in this table.\n\nCheck constraints on domains are stored here, too.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Constraint name (not necessarily unique!)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this constraint","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contype","type":"\"char\"","description":"c = check constraint, f = foreign key constraint, p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferrable","type":"boolean","description":"Is the constraint deferrable?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferred","type":"boolean","description":"Is the constraint deferred by default?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"convalidated","type":"boolean","description":"Has the constraint been validated? Currently, can only be false for foreign keys and CHECK constraints","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conrelid","type":"oid","description":"The table this constraint is on; 0 if not a table constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contypid","type":"oid","description":"The domain this constraint is on; 0 if not a domain constraint","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conindid","type":"oid","description":"The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conparentid","type":"oid","description":"The corresponding constraint in the parent partitioned table, if this is a constraint in a partition; else 0","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confrelid","type":"oid","description":"If a foreign key, the referenced table; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confupdtype","type":"\"char\"","description":"Foreign key update action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confdeltype","type":"\"char\"","description":"Foreign key deletion action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confmatchtype","type":"\"char\"","description":"Foreign key match type: f = full, p = partial, s = simple","documented_type":"char","hidden":false,"type_oid":18,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conislocal","type":"boolean","description":"This constraint is defined locally for the relation. Note that a constraint can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"coninhcount","type":"integer","description":"The number of direct inheritance ancestors this constraint has. A constraint with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connoinherit","type":"boolean","description":"This constraint is defined locally for the relation. It is a non-inheritable constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conkey","type":"smallint[]","description":"If a table constraint (including foreign keys, but not constraint triggers), list of the constrained columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confkey","type":"smallint[]","description":"If a foreign key, list of the referenced columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conpfeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conppeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = PK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conffeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for FK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conexclop","type":"oid[]","description":"If an exclusion constraint, list of the per-column exclusion operators","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conbin","type":"pg_node_tree","description":"If a check constraint, an internal representation of the expression","hidden":false,"type_oid":194,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"consrc","type":"text","description":"If a check constraint, a human-readable representation of the expression","hidden":false,"type_oid":25,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-constraint.html","source_path":"sources/postgresql/11/catalog-pg-constraint.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_constraint.h","definition_source_path":"sources/postgresql/11/source/pg_constraint.h","source_column_count":26,"documentary_schema_source":"documentation","relation_oid":2606,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_constraint stores check, primary key, unique, foreign key, and exclusion constraints on tables. (Column constraints are not treated specially. Every column constraint is equivalent to some table constraint.) Not-null constraints are represented in the pg_attribute catalog, not here.\n\nUser-defined constraint triggers (created with CREATE CONSTRAINT TRIGGER) also give rise to an entry in this table.\n\nCheck constraints on domains are stored here, too.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Constraint name (not necessarily unique!)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this constraint","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contype","type":"\"char\"","description":"c = check constraint, f = foreign key constraint, p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferrable","type":"boolean","description":"Is the constraint deferrable?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferred","type":"boolean","description":"Is the constraint deferred by default?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"convalidated","type":"boolean","description":"Has the constraint been validated? Currently, can only be false for foreign keys and CHECK constraints","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conrelid","type":"oid","description":"The table this constraint is on; 0 if not a table constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contypid","type":"oid","description":"The domain this constraint is on; 0 if not a domain constraint","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conindid","type":"oid","description":"The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conparentid","type":"oid","description":"The corresponding constraint in the parent partitioned table, if this is a constraint in a partition; else 0","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confrelid","type":"oid","description":"If a foreign key, the referenced table; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confupdtype","type":"\"char\"","description":"Foreign key update action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confdeltype","type":"\"char\"","description":"Foreign key deletion action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confmatchtype","type":"\"char\"","description":"Foreign key match type: f = full, p = partial, s = simple","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conislocal","type":"boolean","description":"This constraint is defined locally for the relation. Note that a constraint can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"coninhcount","type":"integer","description":"The number of direct inheritance ancestors this constraint has. A constraint with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connoinherit","type":"boolean","description":"This constraint is defined locally for the relation. It is a non-inheritable constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conkey","type":"smallint[]","description":"If a table constraint (including foreign keys, but not constraint triggers), list of the constrained columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confkey","type":"smallint[]","description":"If a foreign key, list of the referenced columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conpfeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conppeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = PK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conffeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for FK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conexclop","type":"oid[]","description":"If an exclusion constraint, list of the per-column exclusion operators","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conbin","type":"pg_node_tree","description":"If a check constraint, an internal representation of the expression. (It's recommended to use pg_get_constraintdef() to extract the definition of a check constraint.)","hidden":false,"type_oid":194,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-constraint.html","source_path":"sources/postgresql/12/catalog-pg-constraint.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_constraint.h","definition_source_path":"sources/postgresql/12/source/pg_constraint.h","source_column_count":25,"documentary_schema_source":"documentation","relation_oid":2606,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_constraint stores check, primary key, unique, foreign key, and exclusion constraints on tables. (Column constraints are not treated specially. Every column constraint is equivalent to some table constraint.) Not-null constraints are represented in the pg_attribute catalog, not here.\n\nUser-defined constraint triggers (created with CREATE CONSTRAINT TRIGGER) also give rise to an entry in this table.\n\nCheck constraints on domains are stored here, too.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Constraint name (not necessarily unique!)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this constraint","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contype","type":"\"char\"","description":"c = check constraint, f = foreign key constraint, p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferrable","type":"boolean","description":"Is the constraint deferrable?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferred","type":"boolean","description":"Is the constraint deferred by default?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"convalidated","type":"boolean","description":"Has the constraint been validated? Currently, can only be false for foreign keys and CHECK constraints","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conrelid","type":"oid","description":"The table this constraint is on; 0 if not a table constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contypid","type":"oid","description":"The domain this constraint is on; 0 if not a domain constraint","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conindid","type":"oid","description":"The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conparentid","type":"oid","description":"The corresponding constraint in the parent partitioned table, if this is a constraint in a partition; else 0","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confrelid","type":"oid","description":"If a foreign key, the referenced table; else 0","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confupdtype","type":"\"char\"","description":"Foreign key update action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confdeltype","type":"\"char\"","description":"Foreign key deletion action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confmatchtype","type":"\"char\"","description":"Foreign key match type: f = full, p = partial, s = simple","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conislocal","type":"boolean","description":"This constraint is defined locally for the relation. Note that a constraint can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"coninhcount","type":"integer","description":"The number of direct inheritance ancestors this constraint has. A constraint with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connoinherit","type":"boolean","description":"This constraint is defined locally for the relation. It is a non-inheritable constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conkey","type":"smallint[]","description":"If a table constraint (including foreign keys, but not constraint triggers), list of the constrained columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confkey","type":"smallint[]","description":"If a foreign key, list of the referenced columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conpfeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conppeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = PK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conffeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for FK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conexclop","type":"oid[]","description":"If an exclusion constraint, list of the per-column exclusion operators","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conbin","type":"pg_node_tree","description":"If a check constraint, an internal representation of the expression. (It's recommended to use pg_get_constraintdef() to extract the definition of a check constraint.)","hidden":false,"type_oid":194,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-constraint.html","source_path":"sources/postgresql/13/catalog-pg-constraint.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_constraint.h","definition_source_path":"sources/postgresql/13/source/pg_constraint.h","source_column_count":25,"documentary_schema_source":"documentation","relation_oid":2606,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_constraint stores check, primary key, unique, foreign key, and exclusion constraints on tables. (Column constraints are not treated specially. Every column constraint is equivalent to some table constraint.) Not-null constraints are represented in the pg_attribute catalog, not here.\n\nUser-defined constraint triggers (created with CREATE CONSTRAINT TRIGGER) also give rise to an entry in this table.\n\nCheck constraints on domains are stored here, too.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Constraint name (not necessarily unique!)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this constraint","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contype","type":"\"char\"","description":"c = check constraint, f = foreign key constraint, p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferrable","type":"boolean","description":"Is the constraint deferrable?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferred","type":"boolean","description":"Is the constraint deferred by default?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"convalidated","type":"boolean","description":"Has the constraint been validated? Currently, can be false only for foreign keys and CHECK constraints","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conrelid","type":"oid","description":"The table this constraint is on; zero if not a table constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contypid","type":"oid","description":"The domain this constraint is on; zero if not a domain constraint","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conindid","type":"oid","description":"The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else zero","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conparentid","type":"oid","description":"The corresponding constraint of the parent partitioned table, if this is a constraint on a partition; else zero","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confrelid","type":"oid","description":"If a foreign key, the referenced table; else zero","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confupdtype","type":"\"char\"","description":"Foreign key update action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confdeltype","type":"\"char\"","description":"Foreign key deletion action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confmatchtype","type":"\"char\"","description":"Foreign key match type: f = full, p = partial, s = simple","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conislocal","type":"boolean","description":"This constraint is defined locally for the relation. Note that a constraint can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"coninhcount","type":"integer","description":"The number of direct inheritance ancestors this constraint has. A constraint with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connoinherit","type":"boolean","description":"This constraint is defined locally for the relation. It is a non-inheritable constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conkey","type":"smallint[]","description":"If a table constraint (including foreign keys, but not constraint triggers), list of the constrained columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confkey","type":"smallint[]","description":"If a foreign key, list of the referenced columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conpfeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conppeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = PK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conffeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for FK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conexclop","type":"oid[]","description":"If an exclusion constraint, list of the per-column exclusion operators","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conbin","type":"pg_node_tree","description":"If a check constraint, an internal representation of the expression. (It's recommended to use pg_get_constraintdef() to extract the definition of a check constraint.)","hidden":false,"type_oid":194,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-constraint.html","source_path":"sources/postgresql/14/catalog-pg-constraint.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_constraint.h","definition_source_path":"sources/postgresql/14/source/pg_constraint.h","source_column_count":25,"documentary_schema_source":"documentation","relation_oid":2606,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_constraint stores check, primary key, unique, foreign key, and exclusion constraints on tables. (Column constraints are not treated specially. Every column constraint is equivalent to some table constraint.) Not-null constraints are represented in the pg_attribute catalog, not here.\n\nUser-defined constraint triggers (created with CREATE CONSTRAINT TRIGGER) also give rise to an entry in this table.\n\nCheck constraints on domains are stored here, too.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Constraint name (not necessarily unique!)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this constraint","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contype","type":"\"char\"","description":"c = check constraint, f = foreign key constraint, p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferrable","type":"boolean","description":"Is the constraint deferrable?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferred","type":"boolean","description":"Is the constraint deferred by default?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"convalidated","type":"boolean","description":"Has the constraint been validated? Currently, can be false only for foreign keys and CHECK constraints","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conrelid","type":"oid","description":"The table this constraint is on; zero if not a table constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contypid","type":"oid","description":"The domain this constraint is on; zero if not a domain constraint","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conindid","type":"oid","description":"The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else zero","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conparentid","type":"oid","description":"The corresponding constraint of the parent partitioned table, if this is a constraint on a partition; else zero","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confrelid","type":"oid","description":"If a foreign key, the referenced table; else zero","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confupdtype","type":"\"char\"","description":"Foreign key update action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confdeltype","type":"\"char\"","description":"Foreign key deletion action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confmatchtype","type":"\"char\"","description":"Foreign key match type: f = full, p = partial, s = simple","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conislocal","type":"boolean","description":"This constraint is defined locally for the relation. Note that a constraint can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"coninhcount","type":"integer","description":"The number of direct inheritance ancestors this constraint has. A constraint with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connoinherit","type":"boolean","description":"This constraint is defined locally for the relation. It is a non-inheritable constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conkey","type":"smallint[]","description":"If a table constraint (including foreign keys, but not constraint triggers), list of the constrained columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confkey","type":"smallint[]","description":"If a foreign key, list of the referenced columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conpfeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conppeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = PK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conffeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for FK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confdelsetcols","type":"smallint[]","description":"If a foreign key with a SET NULL or SET DEFAULT delete action, the columns that will be updated. If null, all of the referencing columns will be updated.","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conexclop","type":"oid[]","description":"If an exclusion constraint, list of the per-column exclusion operators","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conbin","type":"pg_node_tree","description":"If a check constraint, an internal representation of the expression. (It's recommended to use pg_get_constraintdef() to extract the definition of a check constraint.)","hidden":false,"type_oid":194,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-constraint.html","source_path":"sources/postgresql/15/catalog-pg-constraint.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_constraint.h","definition_source_path":"sources/postgresql/15/source/pg_constraint.h","source_column_count":26,"documentary_schema_source":"documentation","relation_oid":2606,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_constraint stores check, primary key, unique, foreign key, and exclusion constraints on tables. (Column constraints are not treated specially. Every column constraint is equivalent to some table constraint.) Not-null constraints are represented in the pg_attribute catalog, not here.\n\nUser-defined constraint triggers (created with CREATE CONSTRAINT TRIGGER) also give rise to an entry in this table.\n\nCheck constraints on domains are stored here, too.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Constraint name (not necessarily unique!)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this constraint","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contype","type":"\"char\"","description":"c = check constraint, f = foreign key constraint, p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferrable","type":"boolean","description":"Is the constraint deferrable?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferred","type":"boolean","description":"Is the constraint deferred by default?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"convalidated","type":"boolean","description":"Has the constraint been validated? Currently, can be false only for foreign keys and CHECK constraints","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conrelid","type":"oid","description":"The table this constraint is on; zero if not a table constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contypid","type":"oid","description":"The domain this constraint is on; zero if not a domain constraint","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conindid","type":"oid","description":"The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else zero","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conparentid","type":"oid","description":"The corresponding constraint of the parent partitioned table, if this is a constraint on a partition; else zero","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confrelid","type":"oid","description":"If a foreign key, the referenced table; else zero","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confupdtype","type":"\"char\"","description":"Foreign key update action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confdeltype","type":"\"char\"","description":"Foreign key deletion action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confmatchtype","type":"\"char\"","description":"Foreign key match type: f = full, p = partial, s = simple","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conislocal","type":"boolean","description":"This constraint is defined locally for the relation. Note that a constraint can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"coninhcount","type":"smallint","description":"The number of direct inheritance ancestors this constraint has. A constraint with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connoinherit","type":"boolean","description":"This constraint is defined locally for the relation. It is a non-inheritable constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conkey","type":"smallint[]","description":"If a table constraint (including foreign keys, but not constraint triggers), list of the constrained columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confkey","type":"smallint[]","description":"If a foreign key, list of the referenced columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conpfeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conppeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = PK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conffeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for FK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confdelsetcols","type":"smallint[]","description":"If a foreign key with a SET NULL or SET DEFAULT delete action, the columns that will be updated. If null, all of the referencing columns will be updated.","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conexclop","type":"oid[]","description":"If an exclusion constraint, list of the per-column exclusion operators","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conbin","type":"pg_node_tree","description":"If a check constraint, an internal representation of the expression. (It's recommended to use pg_get_constraintdef() to extract the definition of a check constraint.)","hidden":false,"type_oid":194,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-constraint.html","source_path":"sources/postgresql/16/catalog-pg-constraint.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_constraint.h","definition_source_path":"sources/postgresql/16/source/pg_constraint.h","source_column_count":26,"documentary_schema_source":"documentation","relation_oid":2606,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_constraint stores check, primary key, unique, foreign key, and exclusion constraints on tables, as well as not-null constraints on domains. (Column constraints are not treated specially. Every column constraint is equivalent to some table constraint.) Not-null constraints on relations are represented in the pg_attribute catalog, not here.\n\nUser-defined constraint triggers (created with CREATE CONSTRAINT TRIGGER) also give rise to an entry in this table.\n\nCheck constraints on domains are stored here, too.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Constraint name (not necessarily unique!)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this constraint","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contype","type":"\"char\"","description":"c = check constraint, f = foreign key constraint, n = not-null constraint (domains only), p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferrable","type":"boolean","description":"Is the constraint deferrable?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferred","type":"boolean","description":"Is the constraint deferred by default?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"convalidated","type":"boolean","description":"Has the constraint been validated? Currently, can be false only for foreign keys and CHECK constraints","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conrelid","type":"oid","description":"The table this constraint is on; zero if not a table constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contypid","type":"oid","description":"The domain this constraint is on; zero if not a domain constraint","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conindid","type":"oid","description":"The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else zero","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conparentid","type":"oid","description":"The corresponding constraint of the parent partitioned table, if this is a constraint on a partition; else zero","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confrelid","type":"oid","description":"If a foreign key, the referenced table; else zero","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confupdtype","type":"\"char\"","description":"Foreign key update action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confdeltype","type":"\"char\"","description":"Foreign key deletion action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confmatchtype","type":"\"char\"","description":"Foreign key match type: f = full, p = partial, s = simple","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conislocal","type":"boolean","description":"This constraint is defined locally for the relation. Note that a constraint can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"coninhcount","type":"smallint","description":"The number of direct inheritance ancestors this constraint has. A constraint with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connoinherit","type":"boolean","description":"This constraint is defined locally for the relation. It is a non-inheritable constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conkey","type":"smallint[]","description":"If a table constraint (including foreign keys, but not constraint triggers), list of the constrained columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confkey","type":"smallint[]","description":"If a foreign key, list of the referenced columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conpfeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conppeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = PK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conffeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for FK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confdelsetcols","type":"smallint[]","description":"If a foreign key with a SET NULL or SET DEFAULT delete action, the columns that will be updated. If null, all of the referencing columns will be updated.","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conexclop","type":"oid[]","description":"If an exclusion constraint, list of the per-column exclusion operators","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conbin","type":"pg_node_tree","description":"If a check constraint, an internal representation of the expression. (It's recommended to use pg_get_constraintdef() to extract the definition of a check constraint.)","hidden":false,"type_oid":194,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-constraint.html","source_path":"sources/postgresql/17/catalog-pg-constraint.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_constraint.h","definition_source_path":"sources/postgresql/17/source/pg_constraint.h","source_column_count":26,"documentary_schema_source":"documentation","relation_oid":2606,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_constraint stores check, not-null, primary key, unique, foreign key, and exclusion constraints on tables. (Column constraints are not treated specially. Every column constraint is equivalent to some table constraint.)\n\nUser-defined constraint triggers (created with CREATE CONSTRAINT TRIGGER) also give rise to an entry in this table.\n\nCheck constraints on domains are stored here, too.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Constraint name (not necessarily unique!)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this constraint","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contype","type":"\"char\"","description":"c = check constraint, f = foreign key constraint, n = not-null constraint, p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferrable","type":"boolean","description":"Is the constraint deferrable?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferred","type":"boolean","description":"Is the constraint deferred by default?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conenforced","type":"boolean","description":"Is the constraint enforced?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"convalidated","type":"boolean","description":"Has the constraint been validated?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conrelid","type":"oid","description":"The table this constraint is on; zero if not a table constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contypid","type":"oid","description":"The domain this constraint is on; zero if not a domain constraint","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conindid","type":"oid","description":"The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else zero","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conparentid","type":"oid","description":"The corresponding constraint of the parent partitioned table, if this is a constraint on a partition; else zero","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confrelid","type":"oid","description":"If a foreign key, the referenced table; else zero","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confupdtype","type":"\"char\"","description":"Foreign key update action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confdeltype","type":"\"char\"","description":"Foreign key deletion action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confmatchtype","type":"\"char\"","description":"Foreign key match type: f = full, p = partial, s = simple","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conislocal","type":"boolean","description":"This constraint is defined locally for the relation. Note that a constraint can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"coninhcount","type":"smallint","description":"The number of direct inheritance ancestors this constraint has. A constraint with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connoinherit","type":"boolean","description":"This constraint is defined locally for the relation. It is a non-inheritable constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conperiod","type":"boolean","description":"This constraint is defined with WITHOUT OVERLAPS (for primary keys and unique constraints) or PERIOD (for foreign keys).","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conkey","type":"smallint[]","description":"If a table constraint (including foreign keys, but not constraint triggers), list of the constrained columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confkey","type":"smallint[]","description":"If a foreign key, list of the referenced columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conpfeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conppeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = PK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conffeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for FK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confdelsetcols","type":"smallint[]","description":"If a foreign key with a SET NULL or SET DEFAULT delete action, the columns that will be updated. If null, all of the referencing columns will be updated.","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":26,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conexclop","type":"oid[]","description":"If an exclusion constraint or WITHOUT OVERLAPS primary key/unique constraint, list of the per-column exclusion operators.","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":27,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conbin","type":"pg_node_tree","description":"If a check constraint, an internal representation of the expression. (It's recommended to use pg_get_constraintdef() to extract the definition of a check constraint.)","hidden":false,"type_oid":194,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-constraint.html","source_path":"sources/postgresql/18/catalog-pg-constraint.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_constraint.h","definition_source_path":"sources/postgresql/18/source/pg_constraint.h","source_column_count":28,"documentary_schema_source":"documentation","relation_oid":2606,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_constraint stores check, not-null, primary key, unique, foreign key, and exclusion constraints on tables. (Column constraints are not treated specially. Every column constraint is equivalent to some table constraint.)\n\nUser-defined constraint triggers (created with CREATE CONSTRAINT TRIGGER) also give rise to an entry in this table.\n\nCheck constraints on domains are stored here, too.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Constraint name (not necessarily unique!)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this constraint","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contype","type":"\"char\"","description":"c = check constraint, f = foreign key constraint, n = not-null constraint, p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferrable","type":"boolean","description":"Is the constraint deferrable?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condeferred","type":"boolean","description":"Is the constraint deferred by default?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conenforced","type":"boolean","description":"Is the constraint enforced?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"convalidated","type":"boolean","description":"Has the constraint been validated?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conrelid","type":"oid","description":"The table this constraint is on; zero if not a table constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contypid","type":"oid","description":"The domain this constraint is on; zero if not a domain constraint","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conindid","type":"oid","description":"The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else zero","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conparentid","type":"oid","description":"The corresponding constraint of the parent partitioned table, if this is a constraint on a partition; else zero","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confrelid","type":"oid","description":"If a foreign key, the referenced table; else zero","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confupdtype","type":"\"char\"","description":"Foreign key update action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confdeltype","type":"\"char\"","description":"Foreign key deletion action code: a = no action, r = restrict, c = cascade, n = set null, d = set default","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"confmatchtype","type":"\"char\"","description":"Foreign key match type: f = full, p = partial, s = simple","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conislocal","type":"boolean","description":"This constraint is defined locally for the relation. Note that a constraint can be locally defined and inherited simultaneously.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"coninhcount","type":"smallint","description":"The number of direct inheritance ancestors this constraint has. A constraint with a nonzero number of ancestors cannot be dropped nor renamed.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connoinherit","type":"boolean","description":"This constraint is defined locally for the relation. It is a non-inheritable constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conperiod","type":"boolean","description":"This constraint is defined with WITHOUT OVERLAPS (for primary keys and unique constraints) or PERIOD (for foreign keys).","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conkey","type":"smallint[]","description":"If a table constraint (including foreign keys, but not constraint triggers), list of the constrained columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confkey","type":"smallint[]","description":"If a foreign key, list of the referenced columns","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conpfeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conppeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for PK = PK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conffeqop","type":"oid[]","description":"If a foreign key, list of the equality operators for FK = FK comparisons","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"confdelsetcols","type":"smallint[]","description":"If a foreign key with a SET NULL or SET DEFAULT delete action, the columns that will be updated. If null, all of the referencing columns will be updated.","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":26,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conexclop","type":"oid[]","description":"If an exclusion constraint or WITHOUT OVERLAPS primary key/unique constraint, list of the per-column exclusion operators.","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":27,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"conbin","type":"pg_node_tree","description":"If a check constraint, an internal representation of the expression. (It's recommended to use pg_get_constraintdef() to extract the definition of a check constraint.)","hidden":false,"type_oid":194,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-constraint.html","source_path":"sources/postgresql/19/catalog-pg-constraint.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_constraint.h","definition_source_path":"sources/postgresql/19/source/pg_constraint.h","source_column_count":28,"documentary_schema_source":"documentation","relation_oid":2606,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[{"name":"convalidated","type":"boolean","description":"Has the constraint been validated? Currently, can only be false for foreign keys","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[{"name":"conbin","from":"text","to":"pg_node_tree"}],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[{"name":"connoinherit","type":"boolean","description":"This constraint is defined locally for the relation. It is a non-inheritable constraint.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"convalidated","from":"Has the constraint been validated? Currently, can only be false for foreign keys","to":"Has the constraint been validated? Currently, can only be false for foreign keys and CHECK constraints"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"confmatchtype","from":"Foreign key match type: f = full, p = partial, u = simple (unspecified)","to":"Foreign key match type: f = full, p = partial, s = simple"},{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"10","to":"11","status":"changed","added_columns":[{"name":"conparentid","type":"oid","description":"The corresponding constraint in the parent partitioned table, if this is a constraint in a partition; else 0","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[{"name":"consrc","type":"text","description":"If a check constraint, a human-readable representation of the expression","hidden":false,"type_oid":25,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[{"name":"conbin","from":"If a check constraint, an internal representation of the expression","to":"If a check constraint, an internal representation of the expression. (It's recommended to use pg_get_constraintdef() to extract the definition of a check constraint.)"},{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"confrelid","from":"If a foreign key, the referenced table; else 0","to":"If a foreign key, the referenced table; else zero"},{"name":"conindid","from":"The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else 0","to":"The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else zero"},{"name":"conparentid","from":"The corresponding constraint in the parent partitioned table, if this is a constraint in a partition; else 0","to":"The corresponding constraint of the parent partitioned table, if this is a constraint on a partition; else zero"},{"name":"conrelid","from":"The table this constraint is on; 0 if not a table constraint","to":"The table this constraint is on; zero if not a table constraint"},{"name":"contypid","from":"The domain this constraint is on; 0 if not a domain constraint","to":"The domain this constraint is on; zero if not a domain constraint"},{"name":"convalidated","from":"Has the constraint been validated? Currently, can only be false for foreign keys and CHECK constraints","to":"Has the constraint been validated? Currently, can be false only for foreign keys and CHECK constraints"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[{"name":"confdelsetcols","type":"smallint[]","description":"If a foreign key with a SET NULL or SET DEFAULT delete action, the columns that will be updated. If null, all of the referencing columns will be updated.","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"15","to":"16","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[{"name":"coninhcount","from":"integer","to":"smallint"}],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"contype","from":"c = check constraint, f = foreign key constraint, p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint","to":"c = check constraint, f = foreign key constraint, n = not-null constraint (domains only), p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"17","to":"18","status":"changed","added_columns":[{"name":"conenforced","type":"boolean","description":"Is the constraint enforced?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conperiod","type":"boolean","description":"This constraint is defined with WITHOUT OVERLAPS (for primary keys and unique constraints) or PERIOD (for foreign keys).","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"conexclop","from":"If an exclusion constraint, list of the per-column exclusion operators","to":"If an exclusion constraint or WITHOUT OVERLAPS primary key/unique constraint, list of the per-column exclusion operators."},{"name":"contype","from":"c = check constraint, f = foreign key constraint, n = not-null constraint (domains only), p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint","to":"c = check constraint, f = foreign key constraint, n = not-null constraint, p = primary key constraint, u = unique constraint, t = constraint trigger, x = exclusion constraint"},{"name":"convalidated","from":"Has the constraint been validated? Currently, can be false only for foreign keys and CHECK constraints","to":"Has the constraint been validated?"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true}]},{"name":"pg_conversion","kind":"catalog","summary":"encoding conversion information","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_conversion describes the available encoding conversion procedures. See CREATE CONVERSION for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_conversion.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Conversion name (unique within a namespace)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this conversion","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conowner","type":"oid","description":"Owner of the conversion","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conforencoding","type":"integer","description":"Source encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contoencoding","type":"integer","description":"Destination encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conproc","type":"regproc","description":"Conversion procedure","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condefault","type":"boolean","description":"True if this is the default conversion","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-conversion.html","source_path":"sources/postgresql/9.0/catalog-pg-conversion.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_conversion.h","definition_source_path":"sources/postgresql/9.0/source/pg_conversion.h","source_column_count":8,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2607,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_conversion describes encoding conversion procedures. See CREATE CONVERSION for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_conversion.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Conversion name (unique within a namespace)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this conversion","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conowner","type":"oid","description":"Owner of the conversion","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conforencoding","type":"integer","description":"Source encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contoencoding","type":"integer","description":"Destination encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conproc","type":"regproc","description":"Conversion procedure","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condefault","type":"boolean","description":"True if this is the default conversion","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-conversion.html","source_path":"sources/postgresql/9.1/catalog-pg-conversion.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_conversion.h","definition_source_path":"sources/postgresql/9.1/source/pg_conversion.h","source_column_count":8,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2607,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_conversion describes encoding conversion procedures. See CREATE CONVERSION for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_conversion.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Conversion name (unique within a namespace)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this conversion","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conowner","type":"oid","description":"Owner of the conversion","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conforencoding","type":"integer","description":"Source encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contoencoding","type":"integer","description":"Destination encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conproc","type":"regproc","description":"Conversion procedure","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condefault","type":"boolean","description":"True if this is the default conversion","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-conversion.html","source_path":"sources/postgresql/9.2/catalog-pg-conversion.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_conversion.h","definition_source_path":"sources/postgresql/9.2/source/pg_conversion.h","source_column_count":8,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2607,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_conversion describes encoding conversion procedures. See CREATE CONVERSION for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Conversion name (unique within a namespace)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this conversion","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conowner","type":"oid","description":"Owner of the conversion","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conforencoding","type":"integer","description":"Source encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contoencoding","type":"integer","description":"Destination encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conproc","type":"regproc","description":"Conversion procedure","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condefault","type":"boolean","description":"True if this is the default conversion","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-conversion.html","source_path":"sources/postgresql/9.3/catalog-pg-conversion.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_conversion.h","definition_source_path":"sources/postgresql/9.3/source/pg_conversion.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2607,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_conversion describes encoding conversion procedures. See CREATE CONVERSION for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Conversion name (unique within a namespace)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this conversion","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conowner","type":"oid","description":"Owner of the conversion","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conforencoding","type":"integer","description":"Source encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contoencoding","type":"integer","description":"Destination encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conproc","type":"regproc","description":"Conversion procedure","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condefault","type":"boolean","description":"True if this is the default conversion","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-conversion.html","source_path":"sources/postgresql/9.4/catalog-pg-conversion.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_conversion.h","definition_source_path":"sources/postgresql/9.4/source/pg_conversion.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2607,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_conversion describes encoding conversion procedures. See CREATE CONVERSION for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Conversion name (unique within a namespace)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this conversion","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conowner","type":"oid","description":"Owner of the conversion","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conforencoding","type":"integer","description":"Source encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contoencoding","type":"integer","description":"Destination encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conproc","type":"regproc","description":"Conversion procedure","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condefault","type":"boolean","description":"True if this is the default conversion","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-conversion.html","source_path":"sources/postgresql/9.5/catalog-pg-conversion.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_conversion.h","definition_source_path":"sources/postgresql/9.5/source/pg_conversion.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2607,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_conversion describes encoding conversion procedures. See CREATE CONVERSION for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Conversion name (unique within a namespace)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this conversion","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conowner","type":"oid","description":"Owner of the conversion","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conforencoding","type":"integer","description":"Source encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contoencoding","type":"integer","description":"Destination encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conproc","type":"regproc","description":"Conversion procedure","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condefault","type":"boolean","description":"True if this is the default conversion","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-conversion.html","source_path":"sources/postgresql/9.6/catalog-pg-conversion.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_conversion.h","definition_source_path":"sources/postgresql/9.6/source/pg_conversion.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2607,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_conversion describes encoding conversion procedures. See CREATE CONVERSION for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Conversion name (unique within a namespace)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this conversion","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conowner","type":"oid","description":"Owner of the conversion","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conforencoding","type":"integer","description":"Source encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contoencoding","type":"integer","description":"Destination encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conproc","type":"regproc","description":"Conversion procedure","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condefault","type":"boolean","description":"True if this is the default conversion","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-conversion.html","source_path":"sources/postgresql/10/catalog-pg-conversion.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_conversion.h","definition_source_path":"sources/postgresql/10/source/pg_conversion.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2607,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_conversion describes encoding conversion functions. See CREATE CONVERSION for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Conversion name (unique within a namespace)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this conversion","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conowner","type":"oid","description":"Owner of the conversion","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conforencoding","type":"integer","description":"Source encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contoencoding","type":"integer","description":"Destination encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conproc","type":"regproc","description":"Conversion function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condefault","type":"boolean","description":"True if this is the default conversion","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-conversion.html","source_path":"sources/postgresql/11/catalog-pg-conversion.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_conversion.h","definition_source_path":"sources/postgresql/11/source/pg_conversion.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2607,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_conversion describes encoding conversion functions. See CREATE CONVERSION for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Conversion name (unique within a namespace)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this conversion","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conowner","type":"oid","description":"Owner of the conversion","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conforencoding","type":"integer","description":"Source encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contoencoding","type":"integer","description":"Destination encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conproc","type":"regproc","description":"Conversion function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condefault","type":"boolean","description":"True if this is the default conversion","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-conversion.html","source_path":"sources/postgresql/12/catalog-pg-conversion.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_conversion.h","definition_source_path":"sources/postgresql/12/source/pg_conversion.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2607,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_conversion describes encoding conversion functions. See CREATE CONVERSION for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Conversion name (unique within a namespace)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this conversion","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conowner","type":"oid","description":"Owner of the conversion","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conforencoding","type":"integer","description":"Source encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contoencoding","type":"integer","description":"Destination encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conproc","type":"regproc","description":"Conversion function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condefault","type":"boolean","description":"True if this is the default conversion","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-conversion.html","source_path":"sources/postgresql/13/catalog-pg-conversion.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_conversion.h","definition_source_path":"sources/postgresql/13/source/pg_conversion.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2607,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_conversion describes encoding conversion functions. See CREATE CONVERSION for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Conversion name (unique within a namespace)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this conversion","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conowner","type":"oid","description":"Owner of the conversion","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conforencoding","type":"integer","description":"Source encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contoencoding","type":"integer","description":"Destination encoding ID","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conproc","type":"regproc","description":"Conversion function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condefault","type":"boolean","description":"True if this is the default conversion","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-conversion.html","source_path":"sources/postgresql/14/catalog-pg-conversion.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_conversion.h","definition_source_path":"sources/postgresql/14/source/pg_conversion.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2607,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_conversion describes encoding conversion functions. See CREATE CONVERSION for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Conversion name (unique within a namespace)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this conversion","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conowner","type":"oid","description":"Owner of the conversion","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conforencoding","type":"integer","description":"Source encoding ID (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contoencoding","type":"integer","description":"Destination encoding ID (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conproc","type":"regproc","description":"Conversion function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condefault","type":"boolean","description":"True if this is the default conversion","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-conversion.html","source_path":"sources/postgresql/15/catalog-pg-conversion.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_conversion.h","definition_source_path":"sources/postgresql/15/source/pg_conversion.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2607,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_conversion describes encoding conversion functions. See CREATE CONVERSION for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Conversion name (unique within a namespace)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this conversion","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conowner","type":"oid","description":"Owner of the conversion","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conforencoding","type":"integer","description":"Source encoding ID (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contoencoding","type":"integer","description":"Destination encoding ID (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conproc","type":"regproc","description":"Conversion function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condefault","type":"boolean","description":"True if this is the default conversion","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-conversion.html","source_path":"sources/postgresql/16/catalog-pg-conversion.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_conversion.h","definition_source_path":"sources/postgresql/16/source/pg_conversion.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2607,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_conversion describes encoding conversion functions. See CREATE CONVERSION for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Conversion name (unique within a namespace)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this conversion","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conowner","type":"oid","description":"Owner of the conversion","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conforencoding","type":"integer","description":"Source encoding ID (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contoencoding","type":"integer","description":"Destination encoding ID (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conproc","type":"regproc","description":"Conversion function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condefault","type":"boolean","description":"True if this is the default conversion","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-conversion.html","source_path":"sources/postgresql/17/catalog-pg-conversion.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_conversion.h","definition_source_path":"sources/postgresql/17/source/pg_conversion.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2607,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_conversion describes encoding conversion functions. See CREATE CONVERSION for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Conversion name (unique within a namespace)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this conversion","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conowner","type":"oid","description":"Owner of the conversion","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conforencoding","type":"integer","description":"Source encoding ID (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contoencoding","type":"integer","description":"Destination encoding ID (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conproc","type":"regproc","description":"Conversion function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condefault","type":"boolean","description":"True if this is the default conversion","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-conversion.html","source_path":"sources/postgresql/18/catalog-pg-conversion.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_conversion.h","definition_source_path":"sources/postgresql/18/source/pg_conversion.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2607,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_conversion describes encoding conversion functions. See CREATE CONVERSION for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conname","type":"name","description":"Conversion name (unique within a namespace)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"connamespace","type":"oid","description":"The OID of the namespace that contains this conversion","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conowner","type":"oid","description":"Owner of the conversion","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conforencoding","type":"integer","description":"Source encoding ID (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"contoencoding","type":"integer","description":"Destination encoding ID (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"conproc","type":"regproc","description":"Conversion function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"condefault","type":"boolean","description":"True if this is the default conversion","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-conversion.html","source_path":"sources/postgresql/19/catalog-pg-conversion.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_conversion.h","definition_source_path":"sources/postgresql/19/source/pg_conversion.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2607,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"10","to":"11","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"conproc","from":"Conversion procedure","to":"Conversion function"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"conforencoding","from":"Source encoding ID","to":"Source encoding ID (pg_encoding_to_char() can translate this number to the encoding name)"},{"name":"contoencoding","from":"Destination encoding ID","to":"Destination encoding ID (pg_encoding_to_char() can translate this number to the encoding name)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_cursors","kind":"view","summary":"The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways:","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways:\n\nThe pg_cursors view displays cursors created by any of these means. Cursors only exist for the duration of the transaction that defines them, unless they have been declared WITH HOLD. Therefore non-holdable cursors are only present in the view until the end of their creating transaction.","columns":[{"name":"name","type":"text","description":"The name of the cursor","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The verbatim query string submitted to declare this cursor","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_holdable","type":"boolean","description":"true if the cursor is holdable (that is, it can be accessed after the transaction that declared the cursor has committed); false otherwise","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_binary","type":"boolean","description":"true if the cursor was declared BINARY; false otherwise","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_scrollable","type":"boolean","description":"true if the cursor is scrollable (that is, it allows rows to be retrieved in a nonsequential manner); false otherwise","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"creation_time","type":"timestamp with time zone","description":"The time at which the cursor was declared","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/view-pg-cursors.html","source_path":"sources/postgresql/9.0/view-pg-cursors.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10988,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways:\n\nThe pg_cursors view displays cursors created by any of these means. Cursors only exist for the duration of the transaction that defines them, unless they have been declared WITH HOLD. Therefore non-holdable cursors are only present in the view until the end of their creating transaction.","columns":[{"name":"name","type":"text","description":"The name of the cursor","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The verbatim query string submitted to declare this cursor","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_holdable","type":"boolean","description":"true if the cursor is holdable (that is, it can be accessed after the transaction that declared the cursor has committed); false otherwise","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_binary","type":"boolean","description":"true if the cursor was declared BINARY; false otherwise","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_scrollable","type":"boolean","description":"true if the cursor is scrollable (that is, it allows rows to be retrieved in a nonsequential manner); false otherwise","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"creation_time","type":"timestamp with time zone","description":"The time at which the cursor was declared","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/view-pg-cursors.html","source_path":"sources/postgresql/9.1/view-pg-cursors.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11003,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways:\n\nThe pg_cursors view displays cursors created by any of these means. Cursors only exist for the duration of the transaction that defines them, unless they have been declared WITH HOLD. Therefore non-holdable cursors are only present in the view until the end of their creating transaction.","columns":[{"name":"name","type":"text","description":"The name of the cursor","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The verbatim query string submitted to declare this cursor","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_holdable","type":"boolean","description":"true if the cursor is holdable (that is, it can be accessed after the transaction that declared the cursor has committed); false otherwise","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_binary","type":"boolean","description":"true if the cursor was declared BINARY; false otherwise","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_scrollable","type":"boolean","description":"true if the cursor is scrollable (that is, it allows rows to be retrieved in a nonsequential manner); false otherwise","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"creation_time","type":"timestamp with time zone","description":"The time at which the cursor was declared","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/view-pg-cursors.html","source_path":"sources/postgresql/9.2/view-pg-cursors.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11072,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways:\n\nThe pg_cursors view displays cursors created by any of these means. Cursors only exist for the duration of the transaction that defines them, unless they have been declared WITH HOLD. Therefore non-holdable cursors are only present in the view until the end of their creating transaction.","columns":[{"name":"name","type":"text","description":"The name of the cursor","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The verbatim query string submitted to declare this cursor","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_holdable","type":"boolean","description":"true if the cursor is holdable (that is, it can be accessed after the transaction that declared the cursor has committed); false otherwise","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_binary","type":"boolean","description":"true if the cursor was declared BINARY; false otherwise","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_scrollable","type":"boolean","description":"true if the cursor is scrollable (that is, it allows rows to be retrieved in a nonsequential manner); false otherwise","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"creation_time","type":"timestamp with time zone","description":"The time at which the cursor was declared","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-cursors.html","source_path":"sources/postgresql/9.3/view-pg-cursors.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11093,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways:\n\nThe pg_cursors view displays cursors created by any of these means. Cursors only exist for the duration of the transaction that defines them, unless they have been declared WITH HOLD. Therefore non-holdable cursors are only present in the view until the end of their creating transaction.","columns":[{"name":"name","type":"text","description":"The name of the cursor","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The verbatim query string submitted to declare this cursor","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_holdable","type":"boolean","description":"true if the cursor is holdable (that is, it can be accessed after the transaction that declared the cursor has committed); false otherwise","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_binary","type":"boolean","description":"true if the cursor was declared BINARY; false otherwise","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_scrollable","type":"boolean","description":"true if the cursor is scrollable (that is, it allows rows to be retrieved in a nonsequential manner); false otherwise","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"creation_time","type":"timestamp with time zone","description":"The time at which the cursor was declared","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-cursors.html","source_path":"sources/postgresql/9.4/view-pg-cursors.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11190,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways:\n\nThe pg_cursors view displays cursors created by any of these means. Cursors only exist for the duration of the transaction that defines them, unless they have been declared WITH HOLD. Therefore non-holdable cursors are only present in the view until the end of their creating transaction.","columns":[{"name":"name","type":"text","description":"The name of the cursor","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The verbatim query string submitted to declare this cursor","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_holdable","type":"boolean","description":"true if the cursor is holdable (that is, it can be accessed after the transaction that declared the cursor has committed); false otherwise","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_binary","type":"boolean","description":"true if the cursor was declared BINARY; false otherwise","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_scrollable","type":"boolean","description":"true if the cursor is scrollable (that is, it allows rows to be retrieved in a nonsequential manner); false otherwise","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"creation_time","type":"timestamp with time zone","description":"The time at which the cursor was declared","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-cursors.html","source_path":"sources/postgresql/9.5/view-pg-cursors.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11676,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways:\n\nThe pg_cursors view displays cursors created by any of these means. Cursors only exist for the duration of the transaction that defines them, unless they have been declared WITH HOLD. Therefore non-holdable cursors are only present in the view until the end of their creating transaction.","columns":[{"name":"name","type":"text","description":"The name of the cursor","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The verbatim query string submitted to declare this cursor","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_holdable","type":"boolean","description":"true if the cursor is holdable (that is, it can be accessed after the transaction that declared the cursor has committed); false otherwise","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_binary","type":"boolean","description":"true if the cursor was declared BINARY; false otherwise","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_scrollable","type":"boolean","description":"true if the cursor is scrollable (that is, it allows rows to be retrieved in a nonsequential manner); false otherwise","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"creation_time","type":"timestamp with time zone","description":"The time at which the cursor was declared","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-cursors.html","source_path":"sources/postgresql/9.6/view-pg-cursors.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11698,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways:\n\nThe pg_cursors view displays cursors created by any of these means. Cursors only exist for the duration of the transaction that defines them, unless they have been declared WITH HOLD. Therefore non-holdable cursors are only present in the view until the end of their creating transaction.","columns":[{"name":"name","type":"text","description":"The name of the cursor","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The verbatim query string submitted to declare this cursor","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_holdable","type":"boolean","description":"true if the cursor is holdable (that is, it can be accessed after the transaction that declared the cursor has committed); false otherwise","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_binary","type":"boolean","description":"true if the cursor was declared BINARY; false otherwise","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_scrollable","type":"boolean","description":"true if the cursor is scrollable (that is, it allows rows to be retrieved in a nonsequential manner); false otherwise","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"creation_time","type":"timestamp with time zone","description":"The time at which the cursor was declared","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-cursors.html","source_path":"sources/postgresql/10/view-pg-cursors.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11580,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways:\n\nThe pg_cursors view displays cursors created by any of these means. Cursors only exist for the duration of the transaction that defines them, unless they have been declared WITH HOLD. Therefore non-holdable cursors are only present in the view until the end of their creating transaction.","columns":[{"name":"name","type":"text","description":"The name of the cursor","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The verbatim query string submitted to declare this cursor","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_holdable","type":"boolean","description":"true if the cursor is holdable (that is, it can be accessed after the transaction that declared the cursor has committed); false otherwise","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_binary","type":"boolean","description":"true if the cursor was declared BINARY; false otherwise","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_scrollable","type":"boolean","description":"true if the cursor is scrollable (that is, it allows rows to be retrieved in a nonsequential manner); false otherwise","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"creation_time","type":"timestamp with time zone","description":"The time at which the cursor was declared","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-cursors.html","source_path":"sources/postgresql/11/view-pg-cursors.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11648,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways:\n\nThe pg_cursors view displays cursors created by any of these means. Cursors only exist for the duration of the transaction that defines them, unless they have been declared WITH HOLD. Therefore non-holdable cursors are only present in the view until the end of their creating transaction.","columns":[{"name":"name","type":"text","description":"The name of the cursor","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The verbatim query string submitted to declare this cursor","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_holdable","type":"boolean","description":"true if the cursor is holdable (that is, it can be accessed after the transaction that declared the cursor has committed); false otherwise","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_binary","type":"boolean","description":"true if the cursor was declared BINARY; false otherwise","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_scrollable","type":"boolean","description":"true if the cursor is scrollable (that is, it allows rows to be retrieved in a nonsequential manner); false otherwise","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"creation_time","type":"timestamp with time zone","description":"The time at which the cursor was declared","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-cursors.html","source_path":"sources/postgresql/12/view-pg-cursors.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12146,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways:\n\nThe pg_cursors view displays cursors created by any of these means. Cursors only exist for the duration of the transaction that defines them, unless they have been declared WITH HOLD. Therefore non-holdable cursors are only present in the view until the end of their creating transaction.","columns":[{"name":"name","type":"text","description":"The name of the cursor","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The verbatim query string submitted to declare this cursor","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_holdable","type":"boolean","description":"true if the cursor is holdable (that is, it can be accessed after the transaction that declared the cursor has committed); false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_binary","type":"boolean","description":"true if the cursor was declared BINARY; false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_scrollable","type":"boolean","description":"true if the cursor is scrollable (that is, it allows rows to be retrieved in a nonsequential manner); false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"creation_time","type":"timestamp with time zone","description":"The time at which the cursor was declared","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-cursors.html","source_path":"sources/postgresql/13/view-pg-cursors.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12144,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways:\n\nThe pg_cursors view displays cursors created by any of these means. Cursors only exist for the duration of the transaction that defines them, unless they have been declared WITH HOLD. Therefore non-holdable cursors are only present in the view until the end of their creating transaction.","columns":[{"name":"name","type":"text","description":"The name of the cursor","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The verbatim query string submitted to declare this cursor","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_holdable","type":"boolean","description":"true if the cursor is holdable (that is, it can be accessed after the transaction that declared the cursor has committed); false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_binary","type":"boolean","description":"true if the cursor was declared BINARY; false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_scrollable","type":"boolean","description":"true if the cursor is scrollable (that is, it allows rows to be retrieved in a nonsequential manner); false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"creation_time","type":"timestamp with time zone","description":"The time at which the cursor was declared","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-cursors.html","source_path":"sources/postgresql/14/view-pg-cursors.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12294,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways:\n\nThe pg_cursors view displays cursors created by any of these means. Cursors only exist for the duration of the transaction that defines them, unless they have been declared WITH HOLD. Therefore non-holdable cursors are only present in the view until the end of their creating transaction.","columns":[{"name":"name","type":"text","description":"The name of the cursor","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The verbatim query string submitted to declare this cursor","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_holdable","type":"boolean","description":"true if the cursor is holdable (that is, it can be accessed after the transaction that declared the cursor has committed); false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_binary","type":"boolean","description":"true if the cursor was declared BINARY; false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_scrollable","type":"boolean","description":"true if the cursor is scrollable (that is, it allows rows to be retrieved in a nonsequential manner); false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"creation_time","type":"timestamp with time zone","description":"The time at which the cursor was declared","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-cursors.html","source_path":"sources/postgresql/15/view-pg-cursors.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12077,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways:\n\nThe pg_cursors view displays cursors created by any of these means. Cursors only exist for the duration of the transaction that defines them, unless they have been declared WITH HOLD. Therefore non-holdable cursors are only present in the view until the end of their creating transaction.","columns":[{"name":"name","type":"text","description":"The name of the cursor","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The verbatim query string submitted to declare this cursor","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_holdable","type":"boolean","description":"true if the cursor is holdable (that is, it can be accessed after the transaction that declared the cursor has committed); false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_binary","type":"boolean","description":"true if the cursor was declared BINARY; false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_scrollable","type":"boolean","description":"true if the cursor is scrollable (that is, it allows rows to be retrieved in a nonsequential manner); false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"creation_time","type":"timestamp with time zone","description":"The time at which the cursor was declared","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-cursors.html","source_path":"sources/postgresql/16/view-pg-cursors.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12077,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways:\n\nThe pg_cursors view displays cursors created by any of these means. Cursors only exist for the duration of the transaction that defines them, unless they have been declared WITH HOLD. Therefore non-holdable cursors are only present in the view until the end of their creating transaction.","columns":[{"name":"name","type":"text","description":"The name of the cursor","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The verbatim query string submitted to declare this cursor","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_holdable","type":"boolean","description":"true if the cursor is holdable (that is, it can be accessed after the transaction that declared the cursor has committed); false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_binary","type":"boolean","description":"true if the cursor was declared BINARY; false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_scrollable","type":"boolean","description":"true if the cursor is scrollable (that is, it allows rows to be retrieved in a nonsequential manner); false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"creation_time","type":"timestamp with time zone","description":"The time at which the cursor was declared","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-cursors.html","source_path":"sources/postgresql/17/view-pg-cursors.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12077,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways:\n\nThe pg_cursors view displays cursors created by any of these means. Cursors only exist for the duration of the transaction that defines them, unless they have been declared WITH HOLD. Therefore non-holdable cursors are only present in the view until the end of their creating transaction.","columns":[{"name":"name","type":"text","description":"The name of the cursor","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The verbatim query string submitted to declare this cursor","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_holdable","type":"boolean","description":"true if the cursor is holdable (that is, it can be accessed after the transaction that declared the cursor has committed); false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_binary","type":"boolean","description":"true if the cursor was declared BINARY; false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_scrollable","type":"boolean","description":"true if the cursor is scrollable (that is, it allows rows to be retrieved in a nonsequential manner); false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"creation_time","type":"timestamp with time zone","description":"The time at which the cursor was declared","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-cursors.html","source_path":"sources/postgresql/18/view-pg-cursors.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12077,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways:\n\nThe pg_cursors view displays cursors created by any of these means. Cursors only exist for the duration of the transaction that defines them, unless they have been declared WITH HOLD. Therefore non-holdable cursors are only present in the view until the end of their creating transaction.","columns":[{"name":"name","type":"text","description":"The name of the cursor","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The verbatim query string submitted to declare this cursor","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_holdable","type":"boolean","description":"true if the cursor is holdable (that is, it can be accessed after the transaction that declared the cursor has committed); false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_binary","type":"boolean","description":"true if the cursor was declared BINARY; false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_scrollable","type":"boolean","description":"true if the cursor is scrollable (that is, it allows rows to be retrieved in a nonsequential manner); false otherwise","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"creation_time","type":"timestamp with time zone","description":"The time at which the cursor was declared","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-cursors.html","source_path":"sources/postgresql/19/view-pg-cursors.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12082,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[]},{"name":"pg_database","kind":"catalog","summary":"databases within this database cluster","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_database stores information about the available databases. Databases are created with the CREATE DATABASE command. Consult Chapter 21 for details about the meaning of some of the parameters.\n\nUnlike most system catalogs, pg_database is shared across all databases of a cluster: there is only one copy of pg_database per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_database.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datname","type":"name","description":"Database name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datdba","type":"oid","description":"Owner of the database, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"encoding","type":"integer","description":"Character encoding for this database (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datcollate","type":"name","description":"LC_COLLATE for this database","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datctype","type":"name","description":"LC_CTYPE for this database","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datistemplate","type":"boolean","description":"If true then this database can be used in the TEMPLATE clause of CREATE DATABASE to create a new database as a clone of this one","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datallowconn","type":"boolean","description":"If false then no one can connect to this database. This is used to protect the template0 database from being altered.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datconnlimit","type":"integer","description":"Sets maximum number of concurrent connections that can be made to this database. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlastsysoid","type":"oid","description":"Last system OID in the database; useful particularly to pg_dump","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (\"frozen\") transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_clog to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dattablespace","type":"oid","description":"The default tablespace for the database. Within this database, all tables for which pg_class.reltablespace is zero will be stored in this tablespace; in particular, all the non-shared system catalogs will be there.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":12,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-database.html","source_path":"sources/postgresql/9.0/catalog-pg-database.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_database.h","definition_source_path":"sources/postgresql/9.0/source/pg_database.h","source_column_count":13,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1262,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_database stores information about the available databases. Databases are created with the CREATE DATABASE command. Consult Chapter 21 for details about the meaning of some of the parameters.\n\nUnlike most system catalogs, pg_database is shared across all databases of a cluster: there is only one copy of pg_database per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_database.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datname","type":"name","description":"Database name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datdba","type":"oid","description":"Owner of the database, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"encoding","type":"integer","description":"Character encoding for this database (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datcollate","type":"name","description":"LC_COLLATE for this database","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datctype","type":"name","description":"LC_CTYPE for this database","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datistemplate","type":"boolean","description":"If true then this database can be used in the TEMPLATE clause of CREATE DATABASE to create a new database as a clone of this one","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datallowconn","type":"boolean","description":"If false then no one can connect to this database. This is used to protect the template0 database from being altered.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datconnlimit","type":"integer","description":"Sets maximum number of concurrent connections that can be made to this database. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlastsysoid","type":"oid","description":"Last system OID in the database; useful particularly to pg_dump","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (\"frozen\") transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_clog to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dattablespace","type":"oid","description":"The default tablespace for the database. Within this database, all tables for which pg_class.reltablespace is zero will be stored in this tablespace; in particular, all the non-shared system catalogs will be there.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":12,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-database.html","source_path":"sources/postgresql/9.1/catalog-pg-database.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_database.h","definition_source_path":"sources/postgresql/9.1/source/pg_database.h","source_column_count":13,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1262,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_database stores information about the available databases. Databases are created with the CREATE DATABASE command. Consult Chapter 21 for details about the meaning of some of the parameters.\n\nUnlike most system catalogs, pg_database is shared across all databases of a cluster: there is only one copy of pg_database per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_database.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datname","type":"name","description":"Database name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datdba","type":"oid","description":"Owner of the database, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"encoding","type":"integer","description":"Character encoding for this database (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datcollate","type":"name","description":"LC_COLLATE for this database","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datctype","type":"name","description":"LC_CTYPE for this database","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datistemplate","type":"boolean","description":"If true then this database can be used in the TEMPLATE clause of CREATE DATABASE to create a new database as a clone of this one","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datallowconn","type":"boolean","description":"If false then no one can connect to this database. This is used to protect the template0 database from being altered.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datconnlimit","type":"integer","description":"Sets maximum number of concurrent connections that can be made to this database. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlastsysoid","type":"oid","description":"Last system OID in the database; useful particularly to pg_dump","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (\"frozen\") transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_clog to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dattablespace","type":"oid","description":"The default tablespace for the database. Within this database, all tables for which pg_class.reltablespace is zero will be stored in this tablespace; in particular, all the non-shared system catalogs will be there.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":12,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-database.html","source_path":"sources/postgresql/9.2/catalog-pg-database.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_database.h","definition_source_path":"sources/postgresql/9.2/source/pg_database.h","source_column_count":13,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1262,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_database stores information about the available databases. Databases are created with the CREATE DATABASE command. Consult Chapter 21 for details about the meaning of some of the parameters.\n\nUnlike most system catalogs, pg_database is shared across all databases of a cluster: there is only one copy of pg_database per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datname","type":"name","description":"Database name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datdba","type":"oid","description":"Owner of the database, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"encoding","type":"integer","description":"Character encoding for this database (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datcollate","type":"name","description":"LC_COLLATE for this database","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datctype","type":"name","description":"LC_CTYPE for this database","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datistemplate","type":"boolean","description":"If true then this database can be used in the TEMPLATE clause of CREATE DATABASE to create a new database as a clone of this one","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datallowconn","type":"boolean","description":"If false then no one can connect to this database. This is used to protect the template0 database from being altered.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datconnlimit","type":"integer","description":"Sets maximum number of concurrent connections that can be made to this database. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlastsysoid","type":"oid","description":"Last system OID in the database; useful particularly to pg_dump","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (\"frozen\") transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_clog to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datminmxid","type":"xid","description":"All multixact IDs before this one have been replaced with a transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. It is the minimum of the per-table pg_class.relminmxid values.","hidden":false,"type_oid":28,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dattablespace","type":"oid","description":"The default tablespace for the database. Within this database, all tables for which pg_class.reltablespace is zero will be stored in this tablespace; in particular, all the non-shared system catalogs will be there.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-database.html","source_path":"sources/postgresql/9.3/catalog-pg-database.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_database.h","definition_source_path":"sources/postgresql/9.3/source/pg_database.h","source_column_count":14,"documentary_schema_source":"documentation","relation_oid":1262,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_database stores information about the available databases. Databases are created with the CREATE DATABASE command. Consult Chapter 21 for details about the meaning of some of the parameters.\n\nUnlike most system catalogs, pg_database is shared across all databases of a cluster: there is only one copy of pg_database per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datname","type":"name","description":"Database name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datdba","type":"oid","description":"Owner of the database, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"encoding","type":"integer","description":"Character encoding for this database (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datcollate","type":"name","description":"LC_COLLATE for this database","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datctype","type":"name","description":"LC_CTYPE for this database","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datistemplate","type":"boolean","description":"If true, then this database can be cloned by any user with CREATEDB privileges; if false, then only superusers or the owner of the database can clone it.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datallowconn","type":"boolean","description":"If false then no one can connect to this database. This is used to protect the template0 database from being altered.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datconnlimit","type":"integer","description":"Sets maximum number of concurrent connections that can be made to this database. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlastsysoid","type":"oid","description":"Last system OID in the database; useful particularly to pg_dump","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (\"frozen\") transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_clog to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datminmxid","type":"xid","description":"All multixact IDs before this one have been replaced with a transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. It is the minimum of the per-table pg_class.relminmxid values.","hidden":false,"type_oid":28,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dattablespace","type":"oid","description":"The default tablespace for the database. Within this database, all tables for which pg_class.reltablespace is zero will be stored in this tablespace; in particular, all the non-shared system catalogs will be there.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-database.html","source_path":"sources/postgresql/9.4/catalog-pg-database.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_database.h","definition_source_path":"sources/postgresql/9.4/source/pg_database.h","source_column_count":14,"documentary_schema_source":"documentation","relation_oid":1262,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_database stores information about the available databases. Databases are created with the CREATE DATABASE command. Consult Chapter 21 for details about the meaning of some of the parameters.\n\nUnlike most system catalogs, pg_database is shared across all databases of a cluster: there is only one copy of pg_database per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datname","type":"name","description":"Database name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datdba","type":"oid","description":"Owner of the database, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"encoding","type":"integer","description":"Character encoding for this database (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datcollate","type":"name","description":"LC_COLLATE for this database","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datctype","type":"name","description":"LC_CTYPE for this database","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datistemplate","type":"boolean","description":"If true, then this database can be cloned by any user with CREATEDB privileges; if false, then only superusers or the owner of the database can clone it.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datallowconn","type":"boolean","description":"If false then no one can connect to this database. This is used to protect the template0 database from being altered.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datconnlimit","type":"integer","description":"Sets maximum number of concurrent connections that can be made to this database. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlastsysoid","type":"oid","description":"Last system OID in the database; useful particularly to pg_dump","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (\"frozen\") transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_clog to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datminmxid","type":"xid","description":"All multixact IDs before this one have been replaced with a transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. It is the minimum of the per-table pg_class.relminmxid values.","hidden":false,"type_oid":28,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dattablespace","type":"oid","description":"The default tablespace for the database. Within this database, all tables for which pg_class.reltablespace is zero will be stored in this tablespace; in particular, all the non-shared system catalogs will be there.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-database.html","source_path":"sources/postgresql/9.5/catalog-pg-database.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_database.h","definition_source_path":"sources/postgresql/9.5/source/pg_database.h","source_column_count":14,"documentary_schema_source":"documentation","relation_oid":1262,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_database stores information about the available databases. Databases are created with the CREATE DATABASE command. Consult Chapter 22 for details about the meaning of some of the parameters.\n\nUnlike most system catalogs, pg_database is shared across all databases of a cluster: there is only one copy of pg_database per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datname","type":"name","description":"Database name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datdba","type":"oid","description":"Owner of the database, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"encoding","type":"integer","description":"Character encoding for this database (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datcollate","type":"name","description":"LC_COLLATE for this database","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datctype","type":"name","description":"LC_CTYPE for this database","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datistemplate","type":"boolean","description":"If true, then this database can be cloned by any user with CREATEDB privileges; if false, then only superusers or the owner of the database can clone it.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datallowconn","type":"boolean","description":"If false then no one can connect to this database. This is used to protect the template0 database from being altered.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datconnlimit","type":"integer","description":"Sets maximum number of concurrent connections that can be made to this database. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlastsysoid","type":"oid","description":"Last system OID in the database; useful particularly to pg_dump","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (\"frozen\") transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_clog to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datminmxid","type":"xid","description":"All multixact IDs before this one have been replaced with a transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. It is the minimum of the per-table pg_class.relminmxid values.","hidden":false,"type_oid":28,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dattablespace","type":"oid","description":"The default tablespace for the database. Within this database, all tables for which pg_class.reltablespace is zero will be stored in this tablespace; in particular, all the non-shared system catalogs will be there.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-database.html","source_path":"sources/postgresql/9.6/catalog-pg-database.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_database.h","definition_source_path":"sources/postgresql/9.6/source/pg_database.h","source_column_count":14,"documentary_schema_source":"documentation","relation_oid":1262,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_database stores information about the available databases. Databases are created with the CREATE DATABASE command. Consult Chapter 22 for details about the meaning of some of the parameters.\n\nUnlike most system catalogs, pg_database is shared across all databases of a cluster: there is only one copy of pg_database per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datname","type":"name","description":"Database name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datdba","type":"oid","description":"Owner of the database, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"encoding","type":"integer","description":"Character encoding for this database (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datcollate","type":"name","description":"LC_COLLATE for this database","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datctype","type":"name","description":"LC_CTYPE for this database","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datistemplate","type":"boolean","description":"If true, then this database can be cloned by any user with CREATEDB privileges; if false, then only superusers or the owner of the database can clone it.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datallowconn","type":"boolean","description":"If false then no one can connect to this database. This is used to protect the template0 database from being altered.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datconnlimit","type":"integer","description":"Sets maximum number of concurrent connections that can be made to this database. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlastsysoid","type":"oid","description":"Last system OID in the database; useful particularly to pg_dump","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datminmxid","type":"xid","description":"All multixact IDs before this one have been replaced with a transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. It is the minimum of the per-table pg_class.relminmxid values.","hidden":false,"type_oid":28,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dattablespace","type":"oid","description":"The default tablespace for the database. Within this database, all tables for which pg_class.reltablespace is zero will be stored in this tablespace; in particular, all the non-shared system catalogs will be there.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-database.html","source_path":"sources/postgresql/10/catalog-pg-database.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_database.h","definition_source_path":"sources/postgresql/10/source/pg_database.h","source_column_count":14,"documentary_schema_source":"documentation","relation_oid":1262,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_database stores information about the available databases. Databases are created with the CREATE DATABASE command. Consult Chapter 22 for details about the meaning of some of the parameters.\n\nUnlike most system catalogs, pg_database is shared across all databases of a cluster: there is only one copy of pg_database per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datname","type":"name","description":"Database name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datdba","type":"oid","description":"Owner of the database, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"encoding","type":"integer","description":"Character encoding for this database (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datcollate","type":"name","description":"LC_COLLATE for this database","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datctype","type":"name","description":"LC_CTYPE for this database","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datistemplate","type":"boolean","description":"If true, then this database can be cloned by any user with CREATEDB privileges; if false, then only superusers or the owner of the database can clone it.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datallowconn","type":"boolean","description":"If false then no one can connect to this database. This is used to protect the template0 database from being altered.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datconnlimit","type":"integer","description":"Sets maximum number of concurrent connections that can be made to this database. -1 means no limit, -2 indicates the database is invalid.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlastsysoid","type":"oid","description":"Last system OID in the database; useful particularly to pg_dump","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datminmxid","type":"xid","description":"All multixact IDs before this one have been replaced with a transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. It is the minimum of the per-table pg_class.relminmxid values.","hidden":false,"type_oid":28,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dattablespace","type":"oid","description":"The default tablespace for the database. Within this database, all tables for which pg_class.reltablespace is zero will be stored in this tablespace; in particular, all the non-shared system catalogs will be there.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-database.html","source_path":"sources/postgresql/11/catalog-pg-database.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_database.h","definition_source_path":"sources/postgresql/11/source/pg_database.h","source_column_count":14,"documentary_schema_source":"documentation","relation_oid":1262,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_database stores information about the available databases. Databases are created with the CREATE DATABASE command. Consult Chapter 22 for details about the meaning of some of the parameters.\n\nUnlike most system catalogs, pg_database is shared across all databases of a cluster: there is only one copy of pg_database per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datname","type":"name","description":"Database name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datdba","type":"oid","description":"Owner of the database, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"encoding","type":"integer","description":"Character encoding for this database (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datcollate","type":"name","description":"LC_COLLATE for this database","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datctype","type":"name","description":"LC_CTYPE for this database","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datistemplate","type":"boolean","description":"If true, then this database can be cloned by any user with CREATEDB privileges; if false, then only superusers or the owner of the database can clone it.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datallowconn","type":"boolean","description":"If false then no one can connect to this database. This is used to protect the template0 database from being altered.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datconnlimit","type":"integer","description":"Sets maximum number of concurrent connections that can be made to this database. -1 means no limit, -2 indicates the database is invalid.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlastsysoid","type":"oid","description":"Last system OID in the database; useful particularly to pg_dump","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values.","hidden":false,"type_oid":28,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datminmxid","type":"xid","description":"All multixact IDs before this one have been replaced with a transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. It is the minimum of the per-table pg_class.relminmxid values.","hidden":false,"type_oid":28,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dattablespace","type":"oid","description":"The default tablespace for the database. Within this database, all tables for which pg_class.reltablespace is zero will be stored in this tablespace; in particular, all the non-shared system catalogs will be there.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":14,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-database.html","source_path":"sources/postgresql/12/catalog-pg-database.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_database.h","definition_source_path":"sources/postgresql/12/source/pg_database.h","source_column_count":14,"documentary_schema_source":"documentation","relation_oid":1262,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_database stores information about the available databases. Databases are created with the CREATE DATABASE command. Consult Chapter 22 for details about the meaning of some of the parameters.\n\nUnlike most system catalogs, pg_database is shared across all databases of a cluster: there is only one copy of pg_database per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datname","type":"name","description":"Database name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datdba","type":"oid","description":"Owner of the database, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"encoding","type":"integer","description":"Character encoding for this database (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datcollate","type":"name","description":"LC_COLLATE for this database","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datctype","type":"name","description":"LC_CTYPE for this database","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datistemplate","type":"boolean","description":"If true, then this database can be cloned by any user with CREATEDB privileges; if false, then only superusers or the owner of the database can clone it.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datallowconn","type":"boolean","description":"If false then no one can connect to this database. This is used to protect the template0 database from being altered.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datconnlimit","type":"integer","description":"Sets maximum number of concurrent connections that can be made to this database. -1 means no limit, -2 indicates the database is invalid.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlastsysoid","type":"oid","description":"Last system OID in the database; useful particularly to pg_dump","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values.","hidden":false,"type_oid":28,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datminmxid","type":"xid","description":"All multixact IDs before this one have been replaced with a transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. It is the minimum of the per-table pg_class.relminmxid values.","hidden":false,"type_oid":28,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dattablespace","type":"oid","description":"The default tablespace for the database. Within this database, all tables for which pg_class.reltablespace is zero will be stored in this tablespace; in particular, all the non-shared system catalogs will be there.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":14,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-database.html","source_path":"sources/postgresql/13/catalog-pg-database.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_database.h","definition_source_path":"sources/postgresql/13/source/pg_database.h","source_column_count":14,"documentary_schema_source":"documentation","relation_oid":1262,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_database stores information about the available databases. Databases are created with the CREATE DATABASE command. Consult Chapter 23 for details about the meaning of some of the parameters.\n\nUnlike most system catalogs, pg_database is shared across all databases of a cluster: there is only one copy of pg_database per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datname","type":"name","description":"Database name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datdba","type":"oid","description":"Owner of the database, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"encoding","type":"integer","description":"Character encoding for this database (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datcollate","type":"name","description":"LC_COLLATE for this database","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datctype","type":"name","description":"LC_CTYPE for this database","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datistemplate","type":"boolean","description":"If true, then this database can be cloned by any user with CREATEDB privileges; if false, then only superusers or the owner of the database can clone it.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datallowconn","type":"boolean","description":"If false then no one can connect to this database. This is used to protect the template0 database from being altered.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datconnlimit","type":"integer","description":"Sets maximum number of concurrent connections that can be made to this database. -1 means no limit, -2 indicates the database is invalid.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlastsysoid","type":"oid","description":"Last system OID in the database; useful particularly to pg_dump","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values.","hidden":false,"type_oid":28,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datminmxid","type":"xid","description":"All multixact IDs before this one have been replaced with a transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. It is the minimum of the per-table pg_class.relminmxid values.","hidden":false,"type_oid":28,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dattablespace","type":"oid","description":"The default tablespace for the database. Within this database, all tables for which pg_class.reltablespace is zero will be stored in this tablespace; in particular, all the non-shared system catalogs will be there.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":14,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-database.html","source_path":"sources/postgresql/14/catalog-pg-database.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_database.h","definition_source_path":"sources/postgresql/14/source/pg_database.h","source_column_count":14,"documentary_schema_source":"documentation","relation_oid":1262,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_database stores information about the available databases. Databases are created with the CREATE DATABASE command. Consult Chapter 23 for details about the meaning of some of the parameters.\n\nUnlike most system catalogs, pg_database is shared across all databases of a cluster: there is only one copy of pg_database per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datname","type":"name","description":"Database name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datdba","type":"oid","description":"Owner of the database, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"encoding","type":"integer","description":"Character encoding for this database (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlocprovider","type":"\"char\"","description":"Locale provider for this database: c = libc, i = icu","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datistemplate","type":"boolean","description":"If true, then this database can be cloned by any user with CREATEDB privileges; if false, then only superusers or the owner of the database can clone it.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datallowconn","type":"boolean","description":"If false then no one can connect to this database. This is used to protect the template0 database from being altered.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datconnlimit","type":"integer","description":"Sets maximum number of concurrent connections that can be made to this database. -1 means no limit, -2 indicates the database is invalid.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datminmxid","type":"xid","description":"All multixact IDs before this one have been replaced with a transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. It is the minimum of the per-table pg_class.relminmxid values.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dattablespace","type":"oid","description":"The default tablespace for the database. Within this database, all tables for which pg_class.reltablespace is zero will be stored in this tablespace; in particular, all the non-shared system catalogs will be there.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datcollate","type":"text","description":"LC_COLLATE for this database","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datctype","type":"text","description":"LC_CTYPE for this database","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"daticulocale","type":"text","description":"ICU locale ID for this database","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datcollversion","type":"text","description":"Provider-specific version of the collation. This is recorded when the database is created and then checked when it is used, to detect changes in the collation definition that could lead to data corruption.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":16,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-database.html","source_path":"sources/postgresql/15/catalog-pg-database.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_database.h","definition_source_path":"sources/postgresql/15/source/pg_database.h","source_column_count":16,"documentary_schema_source":"documentation","relation_oid":1262,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_database stores information about the available databases. Databases are created with the CREATE DATABASE command. Consult Chapter 23 for details about the meaning of some of the parameters.\n\nUnlike most system catalogs, pg_database is shared across all databases of a cluster: there is only one copy of pg_database per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datname","type":"name","description":"Database name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datdba","type":"oid","description":"Owner of the database, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"encoding","type":"integer","description":"Character encoding for this database (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlocprovider","type":"\"char\"","description":"Locale provider for this database: c = libc, i = icu","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datistemplate","type":"boolean","description":"If true, then this database can be cloned by any user with CREATEDB privileges; if false, then only superusers or the owner of the database can clone it.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datallowconn","type":"boolean","description":"If false then no one can connect to this database. This is used to protect the template0 database from being altered.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datconnlimit","type":"integer","description":"Sets maximum number of concurrent connections that can be made to this database. -1 means no limit, -2 indicates the database is invalid.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datminmxid","type":"xid","description":"All multixact IDs before this one have been replaced with a transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. It is the minimum of the per-table pg_class.relminmxid values.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dattablespace","type":"oid","description":"The default tablespace for the database. Within this database, all tables for which pg_class.reltablespace is zero will be stored in this tablespace; in particular, all the non-shared system catalogs will be there.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datcollate","type":"text","description":"LC_COLLATE for this database","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datctype","type":"text","description":"LC_CTYPE for this database","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"daticulocale","type":"text","description":"ICU locale ID for this database","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"daticurules","type":"text","description":"ICU collation rules for this database","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datcollversion","type":"text","description":"Provider-specific version of the collation. This is recorded when the database is created and then checked when it is used, to detect changes in the collation definition that could lead to data corruption.","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-database.html","source_path":"sources/postgresql/16/catalog-pg-database.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_database.h","definition_source_path":"sources/postgresql/16/source/pg_database.h","source_column_count":17,"documentary_schema_source":"documentation","relation_oid":1262,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_database stores information about the available databases. Databases are created with the CREATE DATABASE command. Consult Chapter 22 for details about the meaning of some of the parameters.\n\nUnlike most system catalogs, pg_database is shared across all databases of a cluster: there is only one copy of pg_database per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datname","type":"name","description":"Database name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datdba","type":"oid","description":"Owner of the database, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"encoding","type":"integer","description":"Character encoding for this database (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlocprovider","type":"\"char\"","description":"Locale provider for this database: b = builtin, c = libc, i = icu","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datistemplate","type":"boolean","description":"If true, then this database can be cloned by any user with CREATEDB privileges; if false, then only superusers or the owner of the database can clone it.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datallowconn","type":"boolean","description":"If false then no one can connect to this database. This is used to protect the template0 database from being altered.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dathasloginevt","type":"boolean","description":"Indicates that there are login event triggers defined for this database. This flag is used to avoid extra lookups on the pg_event_trigger table during each backend startup. This flag is used internally by PostgreSQL and should not be manually altered or read for monitoring purposes.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datconnlimit","type":"integer","description":"Sets maximum number of concurrent connections that can be made to this database. -1 means no limit, -2 indicates the database is invalid.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datminmxid","type":"xid","description":"All multixact IDs before this one have been replaced with a transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. It is the minimum of the per-table pg_class.relminmxid values.","hidden":false,"type_oid":28,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dattablespace","type":"oid","description":"The default tablespace for the database. Within this database, all tables for which pg_class.reltablespace is zero will be stored in this tablespace; in particular, all the non-shared system catalogs will be there.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datcollate","type":"text","description":"LC_COLLATE for this database","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datctype","type":"text","description":"LC_CTYPE for this database","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlocale","type":"text","description":"Collation provider locale name for this database. If the provider is libc, datlocale is NULL; datcollate and datctype are used instead.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"daticurules","type":"text","description":"ICU collation rules for this database","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datcollversion","type":"text","description":"Provider-specific version of the collation. This is recorded when the database is created and then checked when it is used, to detect changes in the collation definition that could lead to data corruption.","hidden":false,"type_oid":25,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datacl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-database.html","source_path":"sources/postgresql/17/catalog-pg-database.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_database.h","definition_source_path":"sources/postgresql/17/source/pg_database.h","source_column_count":18,"documentary_schema_source":"documentation","relation_oid":1262,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_database stores information about the available databases. Databases are created with the CREATE DATABASE command. Consult Chapter 22 for details about the meaning of some of the parameters.\n\nUnlike most system catalogs, pg_database is shared across all databases of a cluster: there is only one copy of pg_database per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datname","type":"name","description":"Database name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datdba","type":"oid","description":"Owner of the database, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"encoding","type":"integer","description":"Character encoding for this database (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlocprovider","type":"\"char\"","description":"Locale provider for this database: b = builtin, c = libc, i = icu","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datistemplate","type":"boolean","description":"If true, then this database can be cloned by any user with CREATEDB privileges; if false, then only superusers or the owner of the database can clone it.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datallowconn","type":"boolean","description":"If false then no one can connect to this database. This is used to protect the template0 database from being altered.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dathasloginevt","type":"boolean","description":"Indicates that there are login event triggers defined for this database. This flag is used to avoid extra lookups on the pg_event_trigger table during each backend startup. This flag is used internally by PostgreSQL and should not be manually altered or read for monitoring purposes.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datconnlimit","type":"integer","description":"Sets maximum number of concurrent connections that can be made to this database. -1 means no limit, -2 indicates the database is invalid.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datminmxid","type":"xid","description":"All multixact IDs before this one have been replaced with a transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. It is the minimum of the per-table pg_class.relminmxid values.","hidden":false,"type_oid":28,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dattablespace","type":"oid","description":"The default tablespace for the database. Within this database, all tables for which pg_class.reltablespace is zero will be stored in this tablespace; in particular, all the non-shared system catalogs will be there.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datcollate","type":"text","description":"LC_COLLATE for this database","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datctype","type":"text","description":"LC_CTYPE for this database","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlocale","type":"text","description":"Collation provider locale name for this database. If the provider is libc, datlocale is NULL; datcollate and datctype are used instead.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"daticurules","type":"text","description":"ICU collation rules for this database","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datcollversion","type":"text","description":"Provider-specific version of the collation. This is recorded when the database is created and then checked when it is used, to detect changes in the collation definition that could lead to data corruption.","hidden":false,"type_oid":25,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datacl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-database.html","source_path":"sources/postgresql/18/catalog-pg-database.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_database.h","definition_source_path":"sources/postgresql/18/source/pg_database.h","source_column_count":18,"documentary_schema_source":"documentation","relation_oid":1262,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_database stores information about the available databases. Databases are created with the CREATE DATABASE command. Consult Chapter 22 for details about the meaning of some of the parameters.\n\nUnlike most system catalogs, pg_database is shared across all databases of a cluster: there is only one copy of pg_database per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datname","type":"name","description":"Database name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datdba","type":"oid","description":"Owner of the database, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"encoding","type":"integer","description":"Character encoding for this database (pg_encoding_to_char() can translate this number to the encoding name)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlocprovider","type":"\"char\"","description":"Locale provider for this database: b = builtin, c = libc, i = icu","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datistemplate","type":"boolean","description":"If true, then this database can be cloned by any user with CREATEDB privileges; if false, then only superusers or the owner of the database can clone it.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datallowconn","type":"boolean","description":"If false then no one can connect to this database. This is used to protect the template0 database from being altered.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dathasloginevt","type":"boolean","description":"Indicates that there are login event triggers defined for this database. This flag is used to avoid extra lookups on the pg_event_trigger table during each backend startup. This flag is used internally by PostgreSQL and should not be manually altered or read for monitoring purposes.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datconnlimit","type":"integer","description":"Sets maximum number of concurrent connections that can be made to this database. -1 means no limit, -2 indicates the database is invalid.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datfrozenxid","type":"xid","description":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datminmxid","type":"xid","description":"All multixact IDs before this one have been replaced with a transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. It is the minimum of the per-table pg_class.relminmxid values.","hidden":false,"type_oid":28,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dattablespace","type":"oid","description":"The default tablespace for the database. Within this database, all tables for which pg_class.reltablespace is zero will be stored in this tablespace; in particular, all the non-shared system catalogs will be there.","references":"pg_tablespace.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datcollate","type":"text","description":"LC_COLLATE for this database (ignored unless datlocprovider is c)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datctype","type":"text","description":"LC_CTYPE for this database","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlocale","type":"text","description":"Collation provider locale name for this database. If the provider is libc, datlocale is NULL; datcollate and datctype are used instead.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"daticurules","type":"text","description":"ICU collation rules for this database","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datcollversion","type":"text","description":"Provider-specific version of the collation. This is recorded when the database is created and then checked when it is used, to detect changes in the collation definition that could lead to data corruption.","hidden":false,"type_oid":25,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datacl","type":"aclitem[]","description":"Access privileges; see Section 5.9 for details","hidden":false,"type_oid":1034,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-database.html","source_path":"sources/postgresql/19/catalog-pg-database.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_database.h","definition_source_path":"sources/postgresql/19/source/pg_database.h","source_column_count":18,"documentary_schema_source":"documentation","relation_oid":1262,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.2","to":"9.3","status":"changed","added_columns":[{"name":"datminmxid","type":"xid","description":"All multixact IDs before this one have been replaced with a transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be shrunk. It is the minimum of the per-table pg_class.relminmxid values.","hidden":false,"type_oid":28,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.3","to":"9.4","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"datistemplate","from":"If true then this database can be used in the TEMPLATE clause of CREATE DATABASE to create a new database as a clone of this one","to":"If true, then this database can be cloned by any user with CREATEDB privileges; if false, then only superusers or the owner of the database can clone it."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"datfrozenxid","from":"All transaction IDs before this one have been replaced with a permanent (\"frozen\") transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_clog to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values.","to":"All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this database. This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_xact to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"10","to":"11","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"datconnlimit","from":"Sets maximum number of concurrent connections that can be made to this database. -1 means no limit.","to":"Sets maximum number of concurrent connections that can be made to this database. -1 means no limit, -2 indicates the database is invalid."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"datacl","from":"Access privileges; see GRANT and REVOKE for details","to":"Access privileges; see Section 5.7 for details"},{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[{"name":"datlocprovider","type":"\"char\"","description":"Locale provider for this database: c = libc, i = icu","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"daticulocale","type":"text","description":"ICU locale ID for this database","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datcollversion","type":"text","description":"Provider-specific version of the collation. This is recorded when the database is created and then checked when it is used, to detect changes in the collation definition that could lead to data corruption.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[{"name":"datlastsysoid","type":"oid","description":"Last system OID in the database; useful particularly to pg_dump","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"type_changes":[{"name":"datcollate","from":"name","to":"text"},{"name":"datctype","from":"name","to":"text"}],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":true,"structural":true},{"from":"15","to":"16","status":"changed","added_columns":[{"name":"daticurules","type":"text","description":"ICU collation rules for this database","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"16","to":"17","status":"changed","added_columns":[{"name":"dathasloginevt","type":"boolean","description":"Indicates that there are login event triggers defined for this database. This flag is used to avoid extra lookups on the pg_event_trigger table during each backend startup. This flag is used internally by PostgreSQL and should not be manually altered or read for monitoring purposes.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"datlocale","type":"text","description":"Collation provider locale name for this database. If the provider is libc, datlocale is NULL; datcollate and datctype are used instead.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[{"name":"daticulocale","type":"text","description":"ICU locale ID for this database","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[{"name":"datacl","from":"Access privileges; see Section 5.7 for details","to":"Access privileges; see Section 5.8 for details"},{"name":"datlocprovider","from":"Locale provider for this database: c = libc, i = icu","to":"Locale provider for this database: b = builtin, c = libc, i = icu"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"datacl","from":"Access privileges; see Section 5.8 for details","to":"Access privileges; see Section 5.9 for details"},{"name":"datcollate","from":"LC_COLLATE for this database","to":"LC_COLLATE for this database (ignored unless datlocprovider is c)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_db_role_setting","kind":"catalog","summary":"per-role and per-database settings","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_db_role_setting records the default values that have been set for run-time configuration variables, for each role and database combination.\n\nUnlike most system catalogs, pg_db_role_setting is shared across all databases of a cluster: there is only one copy of pg_db_role_setting per cluster, not one per database.","columns":[{"name":"setdatabase","type":"oid","description":"The OID of the database the setting is applicable to, or zero if not database-specific","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setrole","type":"oid","description":"The OID of the role the setting is applicable to, or zero if not role-specific","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setconfig","type":"text[]","description":"Defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-db-role-setting.html","source_path":"sources/postgresql/9.0/catalog-pg-db-role-setting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_db_role_setting.h","definition_source_path":"sources/postgresql/9.0/source/pg_db_role_setting.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2964,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_db_role_setting records the default values that have been set for run-time configuration variables, for each role and database combination.\n\nUnlike most system catalogs, pg_db_role_setting is shared across all databases of a cluster: there is only one copy of pg_db_role_setting per cluster, not one per database.","columns":[{"name":"setdatabase","type":"oid","description":"The OID of the database the setting is applicable to, or zero if not database-specific","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setrole","type":"oid","description":"The OID of the role the setting is applicable to, or zero if not role-specific","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setconfig","type":"text[]","description":"Defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-db-role-setting.html","source_path":"sources/postgresql/9.1/catalog-pg-db-role-setting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_db_role_setting.h","definition_source_path":"sources/postgresql/9.1/source/pg_db_role_setting.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2964,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_db_role_setting records the default values that have been set for run-time configuration variables, for each role and database combination.\n\nUnlike most system catalogs, pg_db_role_setting is shared across all databases of a cluster: there is only one copy of pg_db_role_setting per cluster, not one per database.","columns":[{"name":"setdatabase","type":"oid","description":"The OID of the database the setting is applicable to, or zero if not database-specific","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setrole","type":"oid","description":"The OID of the role the setting is applicable to, or zero if not role-specific","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setconfig","type":"text[]","description":"Defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-db-role-setting.html","source_path":"sources/postgresql/9.2/catalog-pg-db-role-setting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_db_role_setting.h","definition_source_path":"sources/postgresql/9.2/source/pg_db_role_setting.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2964,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_db_role_setting records the default values that have been set for run-time configuration variables, for each role and database combination.\n\nUnlike most system catalogs, pg_db_role_setting is shared across all databases of a cluster: there is only one copy of pg_db_role_setting per cluster, not one per database.","columns":[{"name":"setdatabase","type":"oid","description":"The OID of the database the setting is applicable to, or zero if not database-specific","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setrole","type":"oid","description":"The OID of the role the setting is applicable to, or zero if not role-specific","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setconfig","type":"text[]","description":"Defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-db-role-setting.html","source_path":"sources/postgresql/9.3/catalog-pg-db-role-setting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_db_role_setting.h","definition_source_path":"sources/postgresql/9.3/source/pg_db_role_setting.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2964,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_db_role_setting records the default values that have been set for run-time configuration variables, for each role and database combination.\n\nUnlike most system catalogs, pg_db_role_setting is shared across all databases of a cluster: there is only one copy of pg_db_role_setting per cluster, not one per database.","columns":[{"name":"setdatabase","type":"oid","description":"The OID of the database the setting is applicable to, or zero if not database-specific","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setrole","type":"oid","description":"The OID of the role the setting is applicable to, or zero if not role-specific","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setconfig","type":"text[]","description":"Defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-db-role-setting.html","source_path":"sources/postgresql/9.4/catalog-pg-db-role-setting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_db_role_setting.h","definition_source_path":"sources/postgresql/9.4/source/pg_db_role_setting.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2964,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_db_role_setting records the default values that have been set for run-time configuration variables, for each role and database combination.\n\nUnlike most system catalogs, pg_db_role_setting is shared across all databases of a cluster: there is only one copy of pg_db_role_setting per cluster, not one per database.","columns":[{"name":"setdatabase","type":"oid","description":"The OID of the database the setting is applicable to, or zero if not database-specific","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setrole","type":"oid","description":"The OID of the role the setting is applicable to, or zero if not role-specific","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setconfig","type":"text[]","description":"Defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-db-role-setting.html","source_path":"sources/postgresql/9.5/catalog-pg-db-role-setting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_db_role_setting.h","definition_source_path":"sources/postgresql/9.5/source/pg_db_role_setting.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2964,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_db_role_setting records the default values that have been set for run-time configuration variables, for each role and database combination.\n\nUnlike most system catalogs, pg_db_role_setting is shared across all databases of a cluster: there is only one copy of pg_db_role_setting per cluster, not one per database.","columns":[{"name":"setdatabase","type":"oid","description":"The OID of the database the setting is applicable to, or zero if not database-specific","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setrole","type":"oid","description":"The OID of the role the setting is applicable to, or zero if not role-specific","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setconfig","type":"text[]","description":"Defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-db-role-setting.html","source_path":"sources/postgresql/9.6/catalog-pg-db-role-setting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_db_role_setting.h","definition_source_path":"sources/postgresql/9.6/source/pg_db_role_setting.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2964,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_db_role_setting records the default values that have been set for run-time configuration variables, for each role and database combination.\n\nUnlike most system catalogs, pg_db_role_setting is shared across all databases of a cluster: there is only one copy of pg_db_role_setting per cluster, not one per database.","columns":[{"name":"setdatabase","type":"oid","description":"The OID of the database the setting is applicable to, or zero if not database-specific","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setrole","type":"oid","description":"The OID of the role the setting is applicable to, or zero if not role-specific","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setconfig","type":"text[]","description":"Defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-db-role-setting.html","source_path":"sources/postgresql/10/catalog-pg-db-role-setting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_db_role_setting.h","definition_source_path":"sources/postgresql/10/source/pg_db_role_setting.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2964,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_db_role_setting records the default values that have been set for run-time configuration variables, for each role and database combination.\n\nUnlike most system catalogs, pg_db_role_setting is shared across all databases of a cluster: there is only one copy of pg_db_role_setting per cluster, not one per database.","columns":[{"name":"setdatabase","type":"oid","description":"The OID of the database the setting is applicable to, or zero if not database-specific","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setrole","type":"oid","description":"The OID of the role the setting is applicable to, or zero if not role-specific","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setconfig","type":"text[]","description":"Defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-db-role-setting.html","source_path":"sources/postgresql/11/catalog-pg-db-role-setting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_db_role_setting.h","definition_source_path":"sources/postgresql/11/source/pg_db_role_setting.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2964,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_db_role_setting records the default values that have been set for run-time configuration variables, for each role and database combination.\n\nUnlike most system catalogs, pg_db_role_setting is shared across all databases of a cluster: there is only one copy of pg_db_role_setting per cluster, not one per database.","columns":[{"name":"setdatabase","type":"oid","description":"The OID of the database the setting is applicable to, or zero if not database-specific","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setrole","type":"oid","description":"The OID of the role the setting is applicable to, or zero if not role-specific","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setconfig","type":"text[]","description":"Defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-db-role-setting.html","source_path":"sources/postgresql/12/catalog-pg-db-role-setting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_db_role_setting.h","definition_source_path":"sources/postgresql/12/source/pg_db_role_setting.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2964,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_db_role_setting records the default values that have been set for run-time configuration variables, for each role and database combination.\n\nUnlike most system catalogs, pg_db_role_setting is shared across all databases of a cluster: there is only one copy of pg_db_role_setting per cluster, not one per database.","columns":[{"name":"setdatabase","type":"oid","description":"The OID of the database the setting is applicable to, or zero if not database-specific","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setrole","type":"oid","description":"The OID of the role the setting is applicable to, or zero if not role-specific","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setconfig","type":"text[]","description":"Defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-db-role-setting.html","source_path":"sources/postgresql/13/catalog-pg-db-role-setting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_db_role_setting.h","definition_source_path":"sources/postgresql/13/source/pg_db_role_setting.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2964,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_db_role_setting records the default values that have been set for run-time configuration variables, for each role and database combination.\n\nUnlike most system catalogs, pg_db_role_setting is shared across all databases of a cluster: there is only one copy of pg_db_role_setting per cluster, not one per database.","columns":[{"name":"setdatabase","type":"oid","description":"The OID of the database the setting is applicable to, or zero if not database-specific","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setrole","type":"oid","description":"The OID of the role the setting is applicable to, or zero if not role-specific","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setconfig","type":"text[]","description":"Defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-db-role-setting.html","source_path":"sources/postgresql/14/catalog-pg-db-role-setting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_db_role_setting.h","definition_source_path":"sources/postgresql/14/source/pg_db_role_setting.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2964,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_db_role_setting records the default values that have been set for run-time configuration variables, for each role and database combination.\n\nUnlike most system catalogs, pg_db_role_setting is shared across all databases of a cluster: there is only one copy of pg_db_role_setting per cluster, not one per database.","columns":[{"name":"setdatabase","type":"oid","description":"The OID of the database the setting is applicable to, or zero if not database-specific","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setrole","type":"oid","description":"The OID of the role the setting is applicable to, or zero if not role-specific","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setconfig","type":"text[]","description":"Defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-db-role-setting.html","source_path":"sources/postgresql/15/catalog-pg-db-role-setting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_db_role_setting.h","definition_source_path":"sources/postgresql/15/source/pg_db_role_setting.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2964,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_db_role_setting records the default values that have been set for run-time configuration variables, for each role and database combination.\n\nUnlike most system catalogs, pg_db_role_setting is shared across all databases of a cluster: there is only one copy of pg_db_role_setting per cluster, not one per database.","columns":[{"name":"setdatabase","type":"oid","description":"The OID of the database the setting is applicable to, or zero if not database-specific","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setrole","type":"oid","description":"The OID of the role the setting is applicable to, or zero if not role-specific","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setconfig","type":"text[]","description":"Defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-db-role-setting.html","source_path":"sources/postgresql/16/catalog-pg-db-role-setting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_db_role_setting.h","definition_source_path":"sources/postgresql/16/source/pg_db_role_setting.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2964,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_db_role_setting records the default values that have been set for run-time configuration variables, for each role and database combination.\n\nUnlike most system catalogs, pg_db_role_setting is shared across all databases of a cluster: there is only one copy of pg_db_role_setting per cluster, not one per database.","columns":[{"name":"setdatabase","type":"oid","description":"The OID of the database the setting is applicable to, or zero if not database-specific","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setrole","type":"oid","description":"The OID of the role the setting is applicable to, or zero if not role-specific","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setconfig","type":"text[]","description":"Defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-db-role-setting.html","source_path":"sources/postgresql/17/catalog-pg-db-role-setting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_db_role_setting.h","definition_source_path":"sources/postgresql/17/source/pg_db_role_setting.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2964,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_db_role_setting records the default values that have been set for run-time configuration variables, for each role and database combination.\n\nUnlike most system catalogs, pg_db_role_setting is shared across all databases of a cluster: there is only one copy of pg_db_role_setting per cluster, not one per database.","columns":[{"name":"setdatabase","type":"oid","description":"The OID of the database the setting is applicable to, or zero if not database-specific","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setrole","type":"oid","description":"The OID of the role the setting is applicable to, or zero if not role-specific","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setconfig","type":"text[]","description":"Defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-db-role-setting.html","source_path":"sources/postgresql/18/catalog-pg-db-role-setting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_db_role_setting.h","definition_source_path":"sources/postgresql/18/source/pg_db_role_setting.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2964,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_db_role_setting records the default values that have been set for run-time configuration variables, for each role and database combination.\n\nUnlike most system catalogs, pg_db_role_setting is shared across all databases of a cluster: there is only one copy of pg_db_role_setting per cluster, not one per database.","columns":[{"name":"setdatabase","type":"oid","description":"The OID of the database the setting is applicable to, or zero if not database-specific","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setrole","type":"oid","description":"The OID of the role the setting is applicable to, or zero if not role-specific","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"setconfig","type":"text[]","description":"Defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-db-role-setting.html","source_path":"sources/postgresql/19/catalog-pg-db-role-setting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_db_role_setting.h","definition_source_path":"sources/postgresql/19/source/pg_db_role_setting.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2964,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[]},{"name":"pg_default_acl","kind":"catalog","summary":"default privileges for object types","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_default_acl stores initial privileges to be assigned to newly created objects.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_default_acl.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclrole","type":"oid","description":"The OID of the role associated with this entry","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclnamespace","type":"oid","description":"The OID of the namespace associated with this entry, or 0 if none","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclobjtype","type":"\"char\"","description":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclacl","type":"aclitem[]","description":"Access privileges that this type of object should have on creation","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-default-acl.html","source_path":"sources/postgresql/9.0/catalog-pg-default-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_default_acl.h","definition_source_path":"sources/postgresql/9.0/source/pg_default_acl.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":826,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_default_acl stores initial privileges to be assigned to newly created objects.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_default_acl.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclrole","type":"oid","description":"The OID of the role associated with this entry","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclnamespace","type":"oid","description":"The OID of the namespace associated with this entry, or 0 if none","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclobjtype","type":"\"char\"","description":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclacl","type":"aclitem[]","description":"Access privileges that this type of object should have on creation","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-default-acl.html","source_path":"sources/postgresql/9.1/catalog-pg-default-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_default_acl.h","definition_source_path":"sources/postgresql/9.1/source/pg_default_acl.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":826,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_default_acl stores initial privileges to be assigned to newly created objects.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_default_acl.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclrole","type":"oid","description":"The OID of the role associated with this entry","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclnamespace","type":"oid","description":"The OID of the namespace associated with this entry, or 0 if none","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclobjtype","type":"\"char\"","description":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclacl","type":"aclitem[]","description":"Access privileges that this type of object should have on creation","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-default-acl.html","source_path":"sources/postgresql/9.2/catalog-pg-default-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_default_acl.h","definition_source_path":"sources/postgresql/9.2/source/pg_default_acl.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":826,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_default_acl stores initial privileges to be assigned to newly created objects.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclrole","type":"oid","description":"The OID of the role associated with this entry","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclnamespace","type":"oid","description":"The OID of the namespace associated with this entry, or 0 if none","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclobjtype","type":"\"char\"","description":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclacl","type":"aclitem[]","description":"Access privileges that this type of object should have on creation","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-default-acl.html","source_path":"sources/postgresql/9.3/catalog-pg-default-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_default_acl.h","definition_source_path":"sources/postgresql/9.3/source/pg_default_acl.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":826,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_default_acl stores initial privileges to be assigned to newly created objects.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclrole","type":"oid","description":"The OID of the role associated with this entry","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclnamespace","type":"oid","description":"The OID of the namespace associated with this entry, or 0 if none","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclobjtype","type":"\"char\"","description":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclacl","type":"aclitem[]","description":"Access privileges that this type of object should have on creation","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-default-acl.html","source_path":"sources/postgresql/9.4/catalog-pg-default-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_default_acl.h","definition_source_path":"sources/postgresql/9.4/source/pg_default_acl.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":826,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_default_acl stores initial privileges to be assigned to newly created objects.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclrole","type":"oid","description":"The OID of the role associated with this entry","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclnamespace","type":"oid","description":"The OID of the namespace associated with this entry, or 0 if none","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclobjtype","type":"\"char\"","description":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclacl","type":"aclitem[]","description":"Access privileges that this type of object should have on creation","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-default-acl.html","source_path":"sources/postgresql/9.5/catalog-pg-default-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_default_acl.h","definition_source_path":"sources/postgresql/9.5/source/pg_default_acl.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":826,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_default_acl stores initial privileges to be assigned to newly created objects.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclrole","type":"oid","description":"The OID of the role associated with this entry","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclnamespace","type":"oid","description":"The OID of the namespace associated with this entry, or 0 if none","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclobjtype","type":"\"char\"","description":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclacl","type":"aclitem[]","description":"Access privileges that this type of object should have on creation","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-default-acl.html","source_path":"sources/postgresql/9.6/catalog-pg-default-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_default_acl.h","definition_source_path":"sources/postgresql/9.6/source/pg_default_acl.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":826,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_default_acl stores initial privileges to be assigned to newly created objects.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclrole","type":"oid","description":"The OID of the role associated with this entry","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclnamespace","type":"oid","description":"The OID of the namespace associated with this entry, or 0 if none","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclobjtype","type":"\"char\"","description":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type, n = schema","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclacl","type":"aclitem[]","description":"Access privileges that this type of object should have on creation","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-default-acl.html","source_path":"sources/postgresql/10/catalog-pg-default-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_default_acl.h","definition_source_path":"sources/postgresql/10/source/pg_default_acl.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":826,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_default_acl stores initial privileges to be assigned to newly created objects.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclrole","type":"oid","description":"The OID of the role associated with this entry","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclnamespace","type":"oid","description":"The OID of the namespace associated with this entry, or 0 if none","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclobjtype","type":"\"char\"","description":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type, n = schema","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclacl","type":"aclitem[]","description":"Access privileges that this type of object should have on creation","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-default-acl.html","source_path":"sources/postgresql/11/catalog-pg-default-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_default_acl.h","definition_source_path":"sources/postgresql/11/source/pg_default_acl.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":826,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_default_acl stores initial privileges to be assigned to newly created objects.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclrole","type":"oid","description":"The OID of the role associated with this entry","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclnamespace","type":"oid","description":"The OID of the namespace associated with this entry, or 0 if none","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclobjtype","type":"\"char\"","description":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type, n = schema","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclacl","type":"aclitem[]","description":"Access privileges that this type of object should have on creation","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-default-acl.html","source_path":"sources/postgresql/12/catalog-pg-default-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_default_acl.h","definition_source_path":"sources/postgresql/12/source/pg_default_acl.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":826,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_default_acl stores initial privileges to be assigned to newly created objects.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclrole","type":"oid","description":"The OID of the role associated with this entry","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclnamespace","type":"oid","description":"The OID of the namespace associated with this entry, or 0 if none","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclobjtype","type":"\"char\"","description":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type, n = schema","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclacl","type":"aclitem[]","description":"Access privileges that this type of object should have on creation","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-default-acl.html","source_path":"sources/postgresql/13/catalog-pg-default-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_default_acl.h","definition_source_path":"sources/postgresql/13/source/pg_default_acl.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":826,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_default_acl stores initial privileges to be assigned to newly created objects.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclrole","type":"oid","description":"The OID of the role associated with this entry","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclnamespace","type":"oid","description":"The OID of the namespace associated with this entry, or zero if none","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclobjtype","type":"\"char\"","description":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type, n = schema","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclacl","type":"aclitem[]","description":"Access privileges that this type of object should have on creation","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-default-acl.html","source_path":"sources/postgresql/14/catalog-pg-default-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_default_acl.h","definition_source_path":"sources/postgresql/14/source/pg_default_acl.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":826,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_default_acl stores initial privileges to be assigned to newly created objects.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclrole","type":"oid","description":"The OID of the role associated with this entry","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclnamespace","type":"oid","description":"The OID of the namespace associated with this entry, or zero if none","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclobjtype","type":"\"char\"","description":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type, n = schema","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclacl","type":"aclitem[]","description":"Access privileges that this type of object should have on creation","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-default-acl.html","source_path":"sources/postgresql/15/catalog-pg-default-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_default_acl.h","definition_source_path":"sources/postgresql/15/source/pg_default_acl.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":826,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_default_acl stores initial privileges to be assigned to newly created objects.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclrole","type":"oid","description":"The OID of the role associated with this entry","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclnamespace","type":"oid","description":"The OID of the namespace associated with this entry, or zero if none","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclobjtype","type":"\"char\"","description":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type, n = schema","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclacl","type":"aclitem[]","description":"Access privileges that this type of object should have on creation","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-default-acl.html","source_path":"sources/postgresql/16/catalog-pg-default-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_default_acl.h","definition_source_path":"sources/postgresql/16/source/pg_default_acl.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":826,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_default_acl stores initial privileges to be assigned to newly created objects.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclrole","type":"oid","description":"The OID of the role associated with this entry","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclnamespace","type":"oid","description":"The OID of the namespace associated with this entry, or zero if none","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclobjtype","type":"\"char\"","description":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type, n = schema","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclacl","type":"aclitem[]","description":"Access privileges that this type of object should have on creation","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-default-acl.html","source_path":"sources/postgresql/17/catalog-pg-default-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_default_acl.h","definition_source_path":"sources/postgresql/17/source/pg_default_acl.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":826,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_default_acl stores initial privileges to be assigned to newly created objects.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclrole","type":"oid","description":"The OID of the role associated with this entry","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclnamespace","type":"oid","description":"The OID of the namespace associated with this entry, or zero if none","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclobjtype","type":"\"char\"","description":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type, n = schema, L = large object","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclacl","type":"aclitem[]","description":"Access privileges that this type of object should have on creation","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-default-acl.html","source_path":"sources/postgresql/18/catalog-pg-default-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_default_acl.h","definition_source_path":"sources/postgresql/18/source/pg_default_acl.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":826,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_default_acl stores initial privileges to be assigned to newly created objects.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclrole","type":"oid","description":"The OID of the role associated with this entry","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclnamespace","type":"oid","description":"The OID of the namespace associated with this entry, or zero if none","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclobjtype","type":"\"char\"","description":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type, n = schema, L = large object","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"defaclacl","type":"aclitem[]","description":"Access privileges that this type of object should have on creation","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-default-acl.html","source_path":"sources/postgresql/19/catalog-pg-default-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_default_acl.h","definition_source_path":"sources/postgresql/19/source/pg_default_acl.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":826,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"defaclobjtype","from":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function","to":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"defaclobjtype","from":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type","to":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type, n = schema"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"defaclacl","attribute":"not_null","from":false,"to":true},{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"defaclnamespace","from":"The OID of the namespace associated with this entry, or 0 if none","to":"The OID of the namespace associated with this entry, or zero if none"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"17","to":"18","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"defaclobjtype","from":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type, n = schema","to":"Type of object this entry is for: r = relation (table, view), S = sequence, f = function, T = type, n = schema, L = large object"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_depend","kind":"catalog","summary":"dependencies between database objects","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_depend records the dependency relationships between database objects. This information allows DROP commands to find which other objects must be dropped by DROP CASCADE or prevent dropping in the DROP RESTRICT case.\n\nSee also pg_shdepend, which performs a similar function for dependencies involving objects that are shared across a database cluster.","columns":[{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjsubid","type":"integer","description":"For a table column, this is the column number (the refobjid and refclassid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-depend.html","source_path":"sources/postgresql/9.0/catalog-pg-depend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_depend.h","definition_source_path":"sources/postgresql/9.0/source/pg_depend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2608,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_depend records the dependency relationships between database objects. This information allows DROP commands to find which other objects must be dropped by DROP CASCADE or prevent dropping in the DROP RESTRICT case.\n\nSee also pg_shdepend, which performs a similar function for dependencies involving objects that are shared across a database cluster.","columns":[{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjsubid","type":"integer","description":"For a table column, this is the column number (the refobjid and refclassid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-depend.html","source_path":"sources/postgresql/9.1/catalog-pg-depend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_depend.h","definition_source_path":"sources/postgresql/9.1/source/pg_depend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2608,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_depend records the dependency relationships between database objects. This information allows DROP commands to find which other objects must be dropped by DROP CASCADE or prevent dropping in the DROP RESTRICT case.\n\nSee also pg_shdepend, which performs a similar function for dependencies involving objects that are shared across a database cluster.","columns":[{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjsubid","type":"integer","description":"For a table column, this is the column number (the refobjid and refclassid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-depend.html","source_path":"sources/postgresql/9.2/catalog-pg-depend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_depend.h","definition_source_path":"sources/postgresql/9.2/source/pg_depend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2608,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_depend records the dependency relationships between database objects. This information allows DROP commands to find which other objects must be dropped by DROP CASCADE or prevent dropping in the DROP RESTRICT case.\n\nSee also pg_shdepend, which performs a similar function for dependencies involving objects that are shared across a database cluster.","columns":[{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjsubid","type":"integer","description":"For a table column, this is the column number (the refobjid and refclassid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-depend.html","source_path":"sources/postgresql/9.3/catalog-pg-depend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_depend.h","definition_source_path":"sources/postgresql/9.3/source/pg_depend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2608,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_depend records the dependency relationships between database objects. This information allows DROP commands to find which other objects must be dropped by DROP CASCADE or prevent dropping in the DROP RESTRICT case.\n\nSee also pg_shdepend, which performs a similar function for dependencies involving objects that are shared across a database cluster.","columns":[{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjsubid","type":"integer","description":"For a table column, this is the column number (the refobjid and refclassid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-depend.html","source_path":"sources/postgresql/9.4/catalog-pg-depend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_depend.h","definition_source_path":"sources/postgresql/9.4/source/pg_depend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2608,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_depend records the dependency relationships between database objects. This information allows DROP commands to find which other objects must be dropped by DROP CASCADE or prevent dropping in the DROP RESTRICT case.\n\nSee also pg_shdepend, which performs a similar function for dependencies involving objects that are shared across a database cluster.","columns":[{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjsubid","type":"integer","description":"For a table column, this is the column number (the refobjid and refclassid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-depend.html","source_path":"sources/postgresql/9.5/catalog-pg-depend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_depend.h","definition_source_path":"sources/postgresql/9.5/source/pg_depend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2608,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_depend records the dependency relationships between database objects. This information allows DROP commands to find which other objects must be dropped by DROP CASCADE or prevent dropping in the DROP RESTRICT case.\n\nSee also pg_shdepend, which performs a similar function for dependencies involving objects that are shared across a database cluster.","columns":[{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjsubid","type":"integer","description":"For a table column, this is the column number (the refobjid and refclassid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-depend.html","source_path":"sources/postgresql/9.6/catalog-pg-depend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_depend.h","definition_source_path":"sources/postgresql/9.6/source/pg_depend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2608,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_depend records the dependency relationships between database objects. This information allows DROP commands to find which other objects must be dropped by DROP CASCADE or prevent dropping in the DROP RESTRICT case.\n\nSee also pg_shdepend, which performs a similar function for dependencies involving objects that are shared across a database cluster.","columns":[{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjsubid","type":"integer","description":"For a table column, this is the column number (the refobjid and refclassid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-depend.html","source_path":"sources/postgresql/10/catalog-pg-depend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_depend.h","definition_source_path":"sources/postgresql/10/source/pg_depend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2608,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_depend records the dependency relationships between database objects. This information allows DROP commands to find which other objects must be dropped by DROP CASCADE or prevent dropping in the DROP RESTRICT case.\n\nSee also pg_shdepend, which performs a similar function for dependencies involving objects that are shared across a database cluster.","columns":[{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjsubid","type":"integer","description":"For a table column, this is the column number (the refobjid and refclassid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-depend.html","source_path":"sources/postgresql/11/catalog-pg-depend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_depend.h","definition_source_path":"sources/postgresql/11/source/pg_depend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2608,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_depend records the dependency relationships between database objects. This information allows DROP commands to find which other objects must be dropped by DROP CASCADE or prevent dropping in the DROP RESTRICT case.\n\nSee also pg_shdepend, which performs a similar function for dependencies involving objects that are shared across a database cluster.","columns":[{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjsubid","type":"integer","description":"For a table column, this is the column number (the refobjid and refclassid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-depend.html","source_path":"sources/postgresql/12/catalog-pg-depend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_depend.h","definition_source_path":"sources/postgresql/12/source/pg_depend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2608,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_depend records the dependency relationships between database objects. This information allows DROP commands to find which other objects must be dropped by DROP CASCADE or prevent dropping in the DROP RESTRICT case.\n\nSee also pg_shdepend, which performs a similar function for dependencies involving objects that are shared across a database cluster.","columns":[{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjsubid","type":"integer","description":"For a table column, this is the column number (the refobjid and refclassid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-depend.html","source_path":"sources/postgresql/13/catalog-pg-depend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_depend.h","definition_source_path":"sources/postgresql/13/source/pg_depend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2608,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_depend records the dependency relationships between database objects. This information allows DROP commands to find which other objects must be dropped by DROP CASCADE or prevent dropping in the DROP RESTRICT case.\n\nSee also pg_shdepend, which performs a similar function for dependencies involving objects that are shared across a database cluster.","columns":[{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in, or zero for a DEPENDENCY_PIN entry","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object, or zero for a DEPENDENCY_PIN entry","references":"any OID column","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjsubid","type":"integer","description":"For a table column, this is the column number (the refobjid and refclassid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-depend.html","source_path":"sources/postgresql/14/catalog-pg-depend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_depend.h","definition_source_path":"sources/postgresql/14/source/pg_depend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2608,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_depend records the dependency relationships between database objects. This information allows DROP commands to find which other objects must be dropped by DROP CASCADE or prevent dropping in the DROP RESTRICT case.\n\nSee also pg_shdepend, which performs a similar function for dependencies involving objects that are shared across a database cluster.","columns":[{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjsubid","type":"integer","description":"For a table column, this is the column number (the refobjid and refclassid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-depend.html","source_path":"sources/postgresql/15/catalog-pg-depend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_depend.h","definition_source_path":"sources/postgresql/15/source/pg_depend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2608,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_depend records the dependency relationships between database objects. This information allows DROP commands to find which other objects must be dropped by DROP CASCADE or prevent dropping in the DROP RESTRICT case.\n\nSee also pg_shdepend, which performs a similar function for dependencies involving objects that are shared across a database cluster.","columns":[{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjsubid","type":"integer","description":"For a table column, this is the column number (the refobjid and refclassid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-depend.html","source_path":"sources/postgresql/16/catalog-pg-depend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_depend.h","definition_source_path":"sources/postgresql/16/source/pg_depend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2608,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_depend records the dependency relationships between database objects. This information allows DROP commands to find which other objects must be dropped by DROP CASCADE or prevent dropping in the DROP RESTRICT case.\n\nSee also pg_shdepend, which performs a similar function for dependencies involving objects that are shared across a database cluster.","columns":[{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjsubid","type":"integer","description":"For a table column, this is the column number (the refobjid and refclassid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-depend.html","source_path":"sources/postgresql/17/catalog-pg-depend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_depend.h","definition_source_path":"sources/postgresql/17/source/pg_depend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2608,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_depend records the dependency relationships between database objects. This information allows DROP commands to find which other objects must be dropped by DROP CASCADE or prevent dropping in the DROP RESTRICT case.\n\nSee also pg_shdepend, which performs a similar function for dependencies involving objects that are shared across a database cluster.","columns":[{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjsubid","type":"integer","description":"For a table column, this is the column number (the refobjid and refclassid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-depend.html","source_path":"sources/postgresql/18/catalog-pg-depend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_depend.h","definition_source_path":"sources/postgresql/18/source/pg_depend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2608,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_depend records the dependency relationships between database objects. This information allows DROP commands to find which other objects must be dropped by DROP CASCADE or prevent dropping in the DROP RESTRICT case.\n\nSee also pg_shdepend, which performs a similar function for dependencies involving objects that are shared across a database cluster.","columns":[{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjsubid","type":"integer","description":"For a table column, this is the column number (the refobjid and refclassid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-depend.html","source_path":"sources/postgresql/19/catalog-pg-depend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_depend.h","definition_source_path":"sources/postgresql/19/source/pg_depend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2608,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"classid","from":"The OID of the system catalog the dependent object is in","to":"The OID of the system catalog the dependent object is in, or zero for a DEPENDENCY_PIN entry"},{"name":"objid","from":"The OID of the specific dependent object","to":"The OID of the specific dependent object, or zero for a DEPENDENCY_PIN entry"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"classid","from":"The OID of the system catalog the dependent object is in, or zero for a DEPENDENCY_PIN entry","to":"The OID of the system catalog the dependent object is in"},{"name":"objid","from":"The OID of the specific dependent object, or zero for a DEPENDENCY_PIN entry","to":"The OID of the specific dependent object"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_description","kind":"catalog","summary":"descriptions or comments on database objects","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description.\n\nSee also pg_shdescription, which performs a similar function for descriptions involving objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a comment on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-description.html","source_path":"sources/postgresql/9.0/catalog-pg-description.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_description.h","definition_source_path":"sources/postgresql/9.0/source/pg_description.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2609,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description.\n\nSee also pg_shdescription, which performs a similar function for descriptions involving objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a comment on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-description.html","source_path":"sources/postgresql/9.1/catalog-pg-description.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_description.h","definition_source_path":"sources/postgresql/9.1/source/pg_description.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2609,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description.\n\nSee also pg_shdescription, which performs a similar function for descriptions involving objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a comment on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-description.html","source_path":"sources/postgresql/9.2/catalog-pg-description.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_description.h","definition_source_path":"sources/postgresql/9.2/source/pg_description.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2609,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description.\n\nSee also pg_shdescription, which performs a similar function for descriptions involving objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a comment on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-description.html","source_path":"sources/postgresql/9.3/catalog-pg-description.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_description.h","definition_source_path":"sources/postgresql/9.3/source/pg_description.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2609,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description.\n\nSee also pg_shdescription, which performs a similar function for descriptions involving objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a comment on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-description.html","source_path":"sources/postgresql/9.4/catalog-pg-description.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_description.h","definition_source_path":"sources/postgresql/9.4/source/pg_description.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2609,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description.\n\nSee also pg_shdescription, which performs a similar function for descriptions involving objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a comment on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-description.html","source_path":"sources/postgresql/9.5/catalog-pg-description.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_description.h","definition_source_path":"sources/postgresql/9.5/source/pg_description.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2609,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description.\n\nSee also pg_shdescription, which performs a similar function for descriptions involving objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a comment on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-description.html","source_path":"sources/postgresql/9.6/catalog-pg-description.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_description.h","definition_source_path":"sources/postgresql/9.6/source/pg_description.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2609,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description.\n\nSee also pg_shdescription, which performs a similar function for descriptions involving objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a comment on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-description.html","source_path":"sources/postgresql/10/catalog-pg-description.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_description.h","definition_source_path":"sources/postgresql/10/source/pg_description.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2609,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description.\n\nSee also pg_shdescription, which performs a similar function for descriptions involving objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a comment on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-description.html","source_path":"sources/postgresql/11/catalog-pg-description.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_description.h","definition_source_path":"sources/postgresql/11/source/pg_description.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2609,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description.\n\nSee also pg_shdescription, which performs a similar function for descriptions involving objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a comment on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-description.html","source_path":"sources/postgresql/12/catalog-pg-description.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_description.h","definition_source_path":"sources/postgresql/12/source/pg_description.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2609,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description.\n\nSee also pg_shdescription, which performs a similar function for descriptions involving objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a comment on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-description.html","source_path":"sources/postgresql/13/catalog-pg-description.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_description.h","definition_source_path":"sources/postgresql/13/source/pg_description.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2609,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description.\n\nSee also pg_shdescription, which performs a similar function for descriptions involving objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a comment on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-description.html","source_path":"sources/postgresql/14/catalog-pg-description.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_description.h","definition_source_path":"sources/postgresql/14/source/pg_description.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2609,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description.\n\nSee also pg_shdescription, which performs a similar function for descriptions involving objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a comment on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-description.html","source_path":"sources/postgresql/15/catalog-pg-description.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_description.h","definition_source_path":"sources/postgresql/15/source/pg_description.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2609,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description.\n\nSee also pg_shdescription, which performs a similar function for descriptions involving objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a comment on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-description.html","source_path":"sources/postgresql/16/catalog-pg-description.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_description.h","definition_source_path":"sources/postgresql/16/source/pg_description.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2609,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description.\n\nSee also pg_shdescription, which performs a similar function for descriptions involving objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a comment on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-description.html","source_path":"sources/postgresql/17/catalog-pg-description.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_description.h","definition_source_path":"sources/postgresql/17/source/pg_description.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2609,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description.\n\nSee also pg_shdescription, which performs a similar function for descriptions involving objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a comment on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-description.html","source_path":"sources/postgresql/18/catalog-pg-description.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_description.h","definition_source_path":"sources/postgresql/18/source/pg_description.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2609,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description.\n\nSee also pg_shdescription, which performs a similar function for descriptions involving objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a comment on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-description.html","source_path":"sources/postgresql/19/catalog-pg-description.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_description.h","definition_source_path":"sources/postgresql/19/source/pg_description.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2609,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[{"name":"description","attribute":"not_null","from":false,"to":true}],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_dsm_registry_allocations","kind":"view","summary":"The pg_dsm_registry_allocations view shows shared memory allocations tracked in the dynamic shared memory (DSM) registry. This includes memory allocated by extensions using the mechanisms detailed in Section 36.10.11.2.","first_version":"19","last_version":"19","versions":{"19":{"description":"The pg_dsm_registry_allocations view shows shared memory allocations tracked in the dynamic shared memory (DSM) registry. This includes memory allocated by extensions using the mechanisms detailed in Section 36.10.11.2.","columns":[{"name":"name","type":"text","description":"The name of the allocation in the DSM registry.","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"The type of allocation. Possible values are segment, area, and hash, which correspond to dynamic shared memory segments, areas, and hash tables, respectively.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"size","type":"bigint","description":"Size of the allocation in bytes. NULL for entries that failed initialization.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-dsm-registry-allocations.html","source_path":"sources/postgresql/19/view-pg-dsm-registry-allocations.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12147,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"18","to":"19","status":"added","added_columns":[{"name":"name","type":"text","description":"The name of the allocation in the DSM registry.","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"The type of allocation. Possible values are segment, area, and hash, which correspond to dynamic shared memory segments, areas, and hash tables, respectively.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"size","type":"bigint","description":"Size of the allocation in bytes. NULL for entries that failed initialization.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_enum","kind":"catalog","summary":"enum label and value definitions","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The pg_enum catalog contains entries matching enum types to their associated values and labels. The internal representation of a given enum value is actually the OID of its associated row in pg_enum. The OIDs for a particular enum type are guaranteed to be ordered in the way the type should sort, but there is no guarantee about the ordering of OIDs of unrelated enum types.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_enum.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumtypid","type":"oid","description":"The OID of the pg_type entry owning this enum value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumlabel","type":"name","description":"The textual label for this enum value","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-enum.html","source_path":"sources/postgresql/9.0/catalog-pg-enum.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_enum.h","definition_source_path":"sources/postgresql/9.0/source/pg_enum.h","source_column_count":3,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3501,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The pg_enum catalog contains entries showing the values and labels for each enum type. The internal representation of a given enum value is actually the OID of its associated row in pg_enum.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_enum.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumtypid","type":"oid","description":"The OID of the pg_type entry owning this enum value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumsortorder","type":"real","description":"The sort position of this enum value within its enum type","documented_type":"float4","hidden":false,"type_oid":700,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumlabel","type":"name","description":"The textual label for this enum value","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-enum.html","source_path":"sources/postgresql/9.1/catalog-pg-enum.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_enum.h","definition_source_path":"sources/postgresql/9.1/source/pg_enum.h","source_column_count":4,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3501,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The pg_enum catalog contains entries showing the values and labels for each enum type. The internal representation of a given enum value is actually the OID of its associated row in pg_enum.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_enum.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumtypid","type":"oid","description":"The OID of the pg_type entry owning this enum value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumsortorder","type":"real","description":"The sort position of this enum value within its enum type","documented_type":"float4","hidden":false,"type_oid":700,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumlabel","type":"name","description":"The textual label for this enum value","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-enum.html","source_path":"sources/postgresql/9.2/catalog-pg-enum.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_enum.h","definition_source_path":"sources/postgresql/9.2/source/pg_enum.h","source_column_count":4,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3501,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The pg_enum catalog contains entries showing the values and labels for each enum type. The internal representation of a given enum value is actually the OID of its associated row in pg_enum.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumtypid","type":"oid","description":"The OID of the pg_type entry owning this enum value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumsortorder","type":"real","description":"The sort position of this enum value within its enum type","documented_type":"float4","hidden":false,"type_oid":700,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumlabel","type":"name","description":"The textual label for this enum value","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-enum.html","source_path":"sources/postgresql/9.3/catalog-pg-enum.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_enum.h","definition_source_path":"sources/postgresql/9.3/source/pg_enum.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3501,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The pg_enum catalog contains entries showing the values and labels for each enum type. The internal representation of a given enum value is actually the OID of its associated row in pg_enum.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumtypid","type":"oid","description":"The OID of the pg_type entry owning this enum value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumsortorder","type":"real","description":"The sort position of this enum value within its enum type","documented_type":"float4","hidden":false,"type_oid":700,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumlabel","type":"name","description":"The textual label for this enum value","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-enum.html","source_path":"sources/postgresql/9.4/catalog-pg-enum.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_enum.h","definition_source_path":"sources/postgresql/9.4/source/pg_enum.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3501,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The pg_enum catalog contains entries showing the values and labels for each enum type. The internal representation of a given enum value is actually the OID of its associated row in pg_enum.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumtypid","type":"oid","description":"The OID of the pg_type entry owning this enum value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumsortorder","type":"real","description":"The sort position of this enum value within its enum type","documented_type":"float4","hidden":false,"type_oid":700,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumlabel","type":"name","description":"The textual label for this enum value","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-enum.html","source_path":"sources/postgresql/9.5/catalog-pg-enum.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_enum.h","definition_source_path":"sources/postgresql/9.5/source/pg_enum.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3501,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The pg_enum catalog contains entries showing the values and labels for each enum type. The internal representation of a given enum value is actually the OID of its associated row in pg_enum.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumtypid","type":"oid","description":"The OID of the pg_type entry owning this enum value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumsortorder","type":"real","description":"The sort position of this enum value within its enum type","documented_type":"float4","hidden":false,"type_oid":700,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumlabel","type":"name","description":"The textual label for this enum value","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-enum.html","source_path":"sources/postgresql/9.6/catalog-pg-enum.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_enum.h","definition_source_path":"sources/postgresql/9.6/source/pg_enum.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3501,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The pg_enum catalog contains entries showing the values and labels for each enum type. The internal representation of a given enum value is actually the OID of its associated row in pg_enum.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumtypid","type":"oid","description":"The OID of the pg_type entry owning this enum value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumsortorder","type":"real","description":"The sort position of this enum value within its enum type","documented_type":"float4","hidden":false,"type_oid":700,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumlabel","type":"name","description":"The textual label for this enum value","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-enum.html","source_path":"sources/postgresql/10/catalog-pg-enum.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_enum.h","definition_source_path":"sources/postgresql/10/source/pg_enum.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3501,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The pg_enum catalog contains entries showing the values and labels for each enum type. The internal representation of a given enum value is actually the OID of its associated row in pg_enum.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumtypid","type":"oid","description":"The OID of the pg_type entry owning this enum value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumsortorder","type":"real","description":"The sort position of this enum value within its enum type","documented_type":"float4","hidden":false,"type_oid":700,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumlabel","type":"name","description":"The textual label for this enum value","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-enum.html","source_path":"sources/postgresql/11/catalog-pg-enum.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_enum.h","definition_source_path":"sources/postgresql/11/source/pg_enum.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3501,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The pg_enum catalog contains entries showing the values and labels for each enum type. The internal representation of a given enum value is actually the OID of its associated row in pg_enum.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumtypid","type":"oid","description":"The OID of the pg_type entry owning this enum value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumsortorder","type":"real","description":"The sort position of this enum value within its enum type","documented_type":"float4","hidden":false,"type_oid":700,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumlabel","type":"name","description":"The textual label for this enum value","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-enum.html","source_path":"sources/postgresql/12/catalog-pg-enum.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_enum.h","definition_source_path":"sources/postgresql/12/source/pg_enum.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3501,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_enum catalog contains entries showing the values and labels for each enum type. The internal representation of a given enum value is actually the OID of its associated row in pg_enum.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumtypid","type":"oid","description":"The OID of the pg_type entry owning this enum value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumsortorder","type":"real","description":"The sort position of this enum value within its enum type","documented_type":"float4","hidden":false,"type_oid":700,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumlabel","type":"name","description":"The textual label for this enum value","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-enum.html","source_path":"sources/postgresql/13/catalog-pg-enum.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_enum.h","definition_source_path":"sources/postgresql/13/source/pg_enum.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3501,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_enum catalog contains entries showing the values and labels for each enum type. The internal representation of a given enum value is actually the OID of its associated row in pg_enum.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumtypid","type":"oid","description":"The OID of the pg_type entry owning this enum value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumsortorder","type":"real","description":"The sort position of this enum value within its enum type","documented_type":"float4","hidden":false,"type_oid":700,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumlabel","type":"name","description":"The textual label for this enum value","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-enum.html","source_path":"sources/postgresql/14/catalog-pg-enum.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_enum.h","definition_source_path":"sources/postgresql/14/source/pg_enum.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3501,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_enum catalog contains entries showing the values and labels for each enum type. The internal representation of a given enum value is actually the OID of its associated row in pg_enum.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumtypid","type":"oid","description":"The OID of the pg_type entry owning this enum value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumsortorder","type":"real","description":"The sort position of this enum value within its enum type","documented_type":"float4","hidden":false,"type_oid":700,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumlabel","type":"name","description":"The textual label for this enum value","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-enum.html","source_path":"sources/postgresql/15/catalog-pg-enum.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_enum.h","definition_source_path":"sources/postgresql/15/source/pg_enum.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3501,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_enum catalog contains entries showing the values and labels for each enum type. The internal representation of a given enum value is actually the OID of its associated row in pg_enum.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumtypid","type":"oid","description":"The OID of the pg_type entry owning this enum value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumsortorder","type":"real","description":"The sort position of this enum value within its enum type","documented_type":"float4","hidden":false,"type_oid":700,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumlabel","type":"name","description":"The textual label for this enum value","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-enum.html","source_path":"sources/postgresql/16/catalog-pg-enum.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_enum.h","definition_source_path":"sources/postgresql/16/source/pg_enum.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3501,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_enum catalog contains entries showing the values and labels for each enum type. The internal representation of a given enum value is actually the OID of its associated row in pg_enum.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumtypid","type":"oid","description":"The OID of the pg_type entry owning this enum value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumsortorder","type":"real","description":"The sort position of this enum value within its enum type","documented_type":"float4","hidden":false,"type_oid":700,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumlabel","type":"name","description":"The textual label for this enum value","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-enum.html","source_path":"sources/postgresql/17/catalog-pg-enum.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_enum.h","definition_source_path":"sources/postgresql/17/source/pg_enum.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3501,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_enum catalog contains entries showing the values and labels for each enum type. The internal representation of a given enum value is actually the OID of its associated row in pg_enum.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumtypid","type":"oid","description":"The OID of the pg_type entry owning this enum value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumsortorder","type":"real","description":"The sort position of this enum value within its enum type","documented_type":"float4","hidden":false,"type_oid":700,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumlabel","type":"name","description":"The textual label for this enum value","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-enum.html","source_path":"sources/postgresql/18/catalog-pg-enum.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_enum.h","definition_source_path":"sources/postgresql/18/source/pg_enum.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3501,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_enum catalog contains entries showing the values and labels for each enum type. The internal representation of a given enum value is actually the OID of its associated row in pg_enum.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumtypid","type":"oid","description":"The OID of the pg_type entry owning this enum value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumsortorder","type":"real","description":"The sort position of this enum value within its enum type","documented_type":"float4","hidden":false,"type_oid":700,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"enumlabel","type":"name","description":"The textual label for this enum value","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-enum.html","source_path":"sources/postgresql/19/catalog-pg-enum.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_enum.h","definition_source_path":"sources/postgresql/19/source/pg_enum.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3501,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[{"name":"enumsortorder","type":"real","description":"The sort position of this enum value within its enum type","documented_type":"float4","hidden":false,"type_oid":700,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_event_trigger","kind":"catalog","summary":"event triggers","first_version":"9.3","last_version":"19","versions":{"9.3":{"description":"The catalog pg_event_trigger stores event triggers. See Chapter 37 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_event_trigger.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtname","type":"name","description":"Trigger name (must be unique)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtevent","type":"name","description":"Identifies the event for which this trigger fires","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtowner","type":"oid","description":"Owner of the event trigger","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the event trigger fires. O = trigger fires in \"origin\" and \"local\" modes, D = trigger is disabled, R = trigger fires in \"replica\" mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evttags","type":"text[]","description":"Command tags for which this trigger will fire. If NULL, the firing of this trigger is not restricted on the basis of the command tag.","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-event-trigger.html","source_path":"sources/postgresql/9.3/catalog-pg-event-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_event_trigger.h","definition_source_path":"sources/postgresql/9.3/source/pg_event_trigger.h","source_column_count":7,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3466,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_event_trigger stores event triggers. See Chapter 37 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_event_trigger.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtname","type":"name","description":"Trigger name (must be unique)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtevent","type":"name","description":"Identifies the event for which this trigger fires","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtowner","type":"oid","description":"Owner of the event trigger","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the event trigger fires. O = trigger fires in \"origin\" and \"local\" modes, D = trigger is disabled, R = trigger fires in \"replica\" mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evttags","type":"text[]","description":"Command tags for which this trigger will fire. If NULL, the firing of this trigger is not restricted on the basis of the command tag.","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-event-trigger.html","source_path":"sources/postgresql/9.4/catalog-pg-event-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_event_trigger.h","definition_source_path":"sources/postgresql/9.4/source/pg_event_trigger.h","source_column_count":7,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3466,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_event_trigger stores event triggers. See Chapter 37 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_event_trigger.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtname","type":"name","description":"Trigger name (must be unique)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtevent","type":"name","description":"Identifies the event for which this trigger fires","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtowner","type":"oid","description":"Owner of the event trigger","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the event trigger fires. O = trigger fires in \"origin\" and \"local\" modes, D = trigger is disabled, R = trigger fires in \"replica\" mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evttags","type":"text[]","description":"Command tags for which this trigger will fire. If NULL, the firing of this trigger is not restricted on the basis of the command tag.","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-event-trigger.html","source_path":"sources/postgresql/9.5/catalog-pg-event-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_event_trigger.h","definition_source_path":"sources/postgresql/9.5/source/pg_event_trigger.h","source_column_count":7,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3466,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_event_trigger stores event triggers. See Chapter 38 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_event_trigger.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtname","type":"name","description":"Trigger name (must be unique)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtevent","type":"name","description":"Identifies the event for which this trigger fires","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtowner","type":"oid","description":"Owner of the event trigger","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the event trigger fires. O = trigger fires in \"origin\" and \"local\" modes, D = trigger is disabled, R = trigger fires in \"replica\" mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evttags","type":"text[]","description":"Command tags for which this trigger will fire. If NULL, the firing of this trigger is not restricted on the basis of the command tag.","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-event-trigger.html","source_path":"sources/postgresql/9.6/catalog-pg-event-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_event_trigger.h","definition_source_path":"sources/postgresql/9.6/source/pg_event_trigger.h","source_column_count":7,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3466,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_event_trigger stores event triggers. See Chapter 39 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_event_trigger.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtname","type":"name","description":"Trigger name (must be unique)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtevent","type":"name","description":"Identifies the event for which this trigger fires","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtowner","type":"oid","description":"Owner of the event trigger","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the event trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evttags","type":"text[]","description":"Command tags for which this trigger will fire. If NULL, the firing of this trigger is not restricted on the basis of the command tag.","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-event-trigger.html","source_path":"sources/postgresql/10/catalog-pg-event-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_event_trigger.h","definition_source_path":"sources/postgresql/10/source/pg_event_trigger.h","source_column_count":7,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3466,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_event_trigger stores event triggers. See Chapter 40 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_event_trigger.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtname","type":"name","description":"Trigger name (must be unique)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtevent","type":"name","description":"Identifies the event for which this trigger fires","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtowner","type":"oid","description":"Owner of the event trigger","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the event trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evttags","type":"text[]","description":"Command tags for which this trigger will fire. If NULL, the firing of this trigger is not restricted on the basis of the command tag.","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-event-trigger.html","source_path":"sources/postgresql/11/catalog-pg-event-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_event_trigger.h","definition_source_path":"sources/postgresql/11/source/pg_event_trigger.h","source_column_count":7,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3466,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_event_trigger stores event triggers. See Chapter 39 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier.","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_event_trigger.h","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtname","type":"name","description":"Trigger name (must be unique)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtevent","type":"name","description":"Identifies the event for which this trigger fires","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtowner","type":"oid","description":"Owner of the event trigger","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the event trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evttags","type":"text[]","description":"Command tags for which this trigger will fire. If NULL, the firing of this trigger is not restricted on the basis of the command tag.","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-event-trigger.html","source_path":"sources/postgresql/12/catalog-pg-event-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_event_trigger.h","definition_source_path":"sources/postgresql/12/source/pg_event_trigger.h","source_column_count":7,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3466,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_event_trigger stores event triggers. See Chapter 39 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtname","type":"name","description":"Trigger name (must be unique)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtevent","type":"name","description":"Identifies the event for which this trigger fires","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtowner","type":"oid","description":"Owner of the event trigger","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the event trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evttags","type":"text[]","description":"Command tags for which this trigger will fire. If NULL, the firing of this trigger is not restricted on the basis of the command tag.","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-event-trigger.html","source_path":"sources/postgresql/13/catalog-pg-event-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_event_trigger.h","definition_source_path":"sources/postgresql/13/source/pg_event_trigger.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":3466,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_event_trigger stores event triggers. See Chapter 40 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtname","type":"name","description":"Trigger name (must be unique)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtevent","type":"name","description":"Identifies the event for which this trigger fires","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtowner","type":"oid","description":"Owner of the event trigger","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the event trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evttags","type":"text[]","description":"Command tags for which this trigger will fire. If NULL, the firing of this trigger is not restricted on the basis of the command tag.","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-event-trigger.html","source_path":"sources/postgresql/14/catalog-pg-event-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_event_trigger.h","definition_source_path":"sources/postgresql/14/source/pg_event_trigger.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":3466,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_event_trigger stores event triggers. See Chapter 40 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtname","type":"name","description":"Trigger name (must be unique)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtevent","type":"name","description":"Identifies the event for which this trigger fires","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtowner","type":"oid","description":"Owner of the event trigger","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the event trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evttags","type":"text[]","description":"Command tags for which this trigger will fire. If NULL, the firing of this trigger is not restricted on the basis of the command tag.","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-event-trigger.html","source_path":"sources/postgresql/15/catalog-pg-event-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_event_trigger.h","definition_source_path":"sources/postgresql/15/source/pg_event_trigger.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":3466,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_event_trigger stores event triggers. See Chapter 40 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtname","type":"name","description":"Trigger name (must be unique)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtevent","type":"name","description":"Identifies the event for which this trigger fires","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtowner","type":"oid","description":"Owner of the event trigger","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the event trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evttags","type":"text[]","description":"Command tags for which this trigger will fire. If NULL, the firing of this trigger is not restricted on the basis of the command tag.","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-event-trigger.html","source_path":"sources/postgresql/16/catalog-pg-event-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_event_trigger.h","definition_source_path":"sources/postgresql/16/source/pg_event_trigger.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":3466,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_event_trigger stores event triggers. See Chapter 38 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtname","type":"name","description":"Trigger name (must be unique)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtevent","type":"name","description":"Identifies the event for which this trigger fires","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtowner","type":"oid","description":"Owner of the event trigger","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the event trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evttags","type":"text[]","description":"Command tags for which this trigger will fire. If NULL, the firing of this trigger is not restricted on the basis of the command tag.","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-event-trigger.html","source_path":"sources/postgresql/17/catalog-pg-event-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_event_trigger.h","definition_source_path":"sources/postgresql/17/source/pg_event_trigger.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":3466,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_event_trigger stores event triggers. See Chapter 38 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtname","type":"name","description":"Trigger name (must be unique)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtevent","type":"name","description":"Identifies the event for which this trigger fires","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtowner","type":"oid","description":"Owner of the event trigger","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the event trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evttags","type":"text[]","description":"Command tags for which this trigger will fire. If NULL, the firing of this trigger is not restricted on the basis of the command tag.","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-event-trigger.html","source_path":"sources/postgresql/18/catalog-pg-event-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_event_trigger.h","definition_source_path":"sources/postgresql/18/source/pg_event_trigger.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":3466,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_event_trigger stores event triggers. See Chapter 38 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtname","type":"name","description":"Trigger name (must be unique)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtevent","type":"name","description":"Identifies the event for which this trigger fires","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtowner","type":"oid","description":"Owner of the event trigger","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the event trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evttags","type":"text[]","description":"Command tags for which this trigger will fire. If NULL, the firing of this trigger is not restricted on the basis of the command tag.","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-event-trigger.html","source_path":"sources/postgresql/19/catalog-pg-event-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_event_trigger.h","definition_source_path":"sources/postgresql/19/source/pg_event_trigger.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":3466,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.2","to":"9.3","status":"added","added_columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_event_trigger.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtname","type":"name","description":"Trigger name (must be unique)","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtevent","type":"name","description":"Identifies the event for which this trigger fires","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtowner","type":"oid","description":"Owner of the event trigger","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evtenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the event trigger fires. O = trigger fires in \"origin\" and \"local\" modes, D = trigger is disabled, R = trigger fires in \"replica\" mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"evttags","type":"text[]","description":"Command tags for which this trigger will fire. If NULL, the firing of this trigger is not restricted on the basis of the command tag.","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"evtenabled","from":"Controls in which session_replication_role modes the event trigger fires. O = trigger fires in \"origin\" and \"local\" modes, D = trigger is disabled, R = trigger fires in \"replica\" mode, A = trigger fires always.","to":"Controls in which session_replication_role modes the event trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"10","to":"11","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier."}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier.","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_extension","kind":"catalog","summary":"installed extensions","first_version":"9.1","last_version":"19","versions":{"9.1":{"description":"The catalog pg_extension stores information about the installed extensions. See Section 35.15 for details about extensions.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_extension.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extname","type":"name","description":"Name of the extension","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extowner","type":"oid","description":"Owner of the extension","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extnamespace","type":"oid","description":"Schema containing the extension's exported objects","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extrelocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extversion","type":"text","description":"Version name for the extension","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extconfig","type":"oid[]","description":"Array of regclass OIDs for the extension's configuration table(s), or NULL if none","references":"pg_class.oid","hidden":false,"type_oid":1028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"extcondition","type":"text[]","description":"Array of WHERE-clause filter conditions for the extension's configuration table(s), or NULL if none","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-extension.html","source_path":"sources/postgresql/9.1/catalog-pg-extension.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_extension.h","definition_source_path":"sources/postgresql/9.1/source/pg_extension.h","source_column_count":8,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3079,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_extension stores information about the installed extensions. See Section 35.15 for details about extensions.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_extension.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extname","type":"name","description":"Name of the extension","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extowner","type":"oid","description":"Owner of the extension","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extnamespace","type":"oid","description":"Schema containing the extension's exported objects","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extrelocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extversion","type":"text","description":"Version name for the extension","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extconfig","type":"oid[]","description":"Array of regclass OIDs for the extension's configuration table(s), or NULL if none","references":"pg_class.oid","hidden":false,"type_oid":1028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"extcondition","type":"text[]","description":"Array of WHERE-clause filter conditions for the extension's configuration table(s), or NULL if none","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-extension.html","source_path":"sources/postgresql/9.2/catalog-pg-extension.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_extension.h","definition_source_path":"sources/postgresql/9.2/source/pg_extension.h","source_column_count":8,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3079,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_extension stores information about the installed extensions. See Section 35.15 for details about extensions.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extname","type":"name","description":"Name of the extension","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extowner","type":"oid","description":"Owner of the extension","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extnamespace","type":"oid","description":"Schema containing the extension's exported objects","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extrelocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extversion","type":"text","description":"Version name for the extension","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extconfig","type":"oid[]","description":"Array of regclass OIDs for the extension's configuration table(s), or NULL if none","references":"pg_class.oid","hidden":false,"type_oid":1028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"extcondition","type":"text[]","description":"Array of WHERE-clause filter conditions for the extension's configuration table(s), or NULL if none","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-extension.html","source_path":"sources/postgresql/9.3/catalog-pg-extension.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_extension.h","definition_source_path":"sources/postgresql/9.3/source/pg_extension.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3079,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_extension stores information about the installed extensions. See Section 35.15 for details about extensions.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extname","type":"name","description":"Name of the extension","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extowner","type":"oid","description":"Owner of the extension","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extnamespace","type":"oid","description":"Schema containing the extension's exported objects","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extrelocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extversion","type":"text","description":"Version name for the extension","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extconfig","type":"oid[]","description":"Array of regclass OIDs for the extension's configuration table(s), or NULL if none","references":"pg_class.oid","hidden":false,"type_oid":1028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"extcondition","type":"text[]","description":"Array of WHERE-clause filter conditions for the extension's configuration table(s), or NULL if none","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-extension.html","source_path":"sources/postgresql/9.4/catalog-pg-extension.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_extension.h","definition_source_path":"sources/postgresql/9.4/source/pg_extension.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3079,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_extension stores information about the installed extensions. See Section 35.15 for details about extensions.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extname","type":"name","description":"Name of the extension","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extowner","type":"oid","description":"Owner of the extension","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extnamespace","type":"oid","description":"Schema containing the extension's exported objects","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extrelocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extversion","type":"text","description":"Version name for the extension","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extconfig","type":"oid[]","description":"Array of regclass OIDs for the extension's configuration table(s), or NULL if none","references":"pg_class.oid","hidden":false,"type_oid":1028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"extcondition","type":"text[]","description":"Array of WHERE-clause filter conditions for the extension's configuration table(s), or NULL if none","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-extension.html","source_path":"sources/postgresql/9.5/catalog-pg-extension.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_extension.h","definition_source_path":"sources/postgresql/9.5/source/pg_extension.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3079,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_extension stores information about the installed extensions. See Section 36.15 for details about extensions.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extname","type":"name","description":"Name of the extension","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extowner","type":"oid","description":"Owner of the extension","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extnamespace","type":"oid","description":"Schema containing the extension's exported objects","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extrelocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extversion","type":"text","description":"Version name for the extension","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extconfig","type":"oid[]","description":"Array of regclass OIDs for the extension's configuration table(s), or NULL if none","references":"pg_class.oid","hidden":false,"type_oid":1028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"extcondition","type":"text[]","description":"Array of WHERE-clause filter conditions for the extension's configuration table(s), or NULL if none","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-extension.html","source_path":"sources/postgresql/9.6/catalog-pg-extension.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_extension.h","definition_source_path":"sources/postgresql/9.6/source/pg_extension.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3079,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_extension stores information about the installed extensions. See Section 37.15 for details about extensions.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extname","type":"name","description":"Name of the extension","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extowner","type":"oid","description":"Owner of the extension","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extnamespace","type":"oid","description":"Schema containing the extension's exported objects","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extrelocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extversion","type":"text","description":"Version name for the extension","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extconfig","type":"oid[]","description":"Array of regclass OIDs for the extension's configuration table(s), or NULL if none","references":"pg_class.oid","hidden":false,"type_oid":1028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"extcondition","type":"text[]","description":"Array of WHERE-clause filter conditions for the extension's configuration table(s), or NULL if none","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-extension.html","source_path":"sources/postgresql/10/catalog-pg-extension.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_extension.h","definition_source_path":"sources/postgresql/10/source/pg_extension.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3079,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_extension stores information about the installed extensions. See Section 38.16 for details about extensions.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extname","type":"name","description":"Name of the extension","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extowner","type":"oid","description":"Owner of the extension","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extnamespace","type":"oid","description":"Schema containing the extension's exported objects","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extrelocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extversion","type":"text","description":"Version name for the extension","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extconfig","type":"oid[]","description":"Array of regclass OIDs for the extension's configuration table(s), or NULL if none","references":"pg_class.oid","hidden":false,"type_oid":1028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"extcondition","type":"text[]","description":"Array of WHERE-clause filter conditions for the extension's configuration table(s), or NULL if none","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-extension.html","source_path":"sources/postgresql/11/catalog-pg-extension.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_extension.h","definition_source_path":"sources/postgresql/11/source/pg_extension.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3079,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_extension stores information about the installed extensions. See Section 37.17 for details about extensions.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extname","type":"name","description":"Name of the extension","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extowner","type":"oid","description":"Owner of the extension","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extnamespace","type":"oid","description":"Schema containing the extension's exported objects","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extrelocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extversion","type":"text","description":"Version name for the extension","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extconfig","type":"oid[]","description":"Array of regclass OIDs for the extension's configuration table(s), or NULL if none","references":"pg_class.oid","hidden":false,"type_oid":1028,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"extcondition","type":"text[]","description":"Array of WHERE-clause filter conditions for the extension's configuration table(s), or NULL if none","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-extension.html","source_path":"sources/postgresql/12/catalog-pg-extension.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_extension.h","definition_source_path":"sources/postgresql/12/source/pg_extension.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3079,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_extension stores information about the installed extensions. See Section 37.17 for details about extensions.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extname","type":"name","description":"Name of the extension","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extowner","type":"oid","description":"Owner of the extension","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extnamespace","type":"oid","description":"Schema containing the extension's exported objects","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extrelocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extversion","type":"text","description":"Version name for the extension","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extconfig","type":"oid[]","description":"Array of regclass OIDs for the extension's configuration table(s), or NULL if none","references":"pg_class.oid","hidden":false,"type_oid":1028,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"extcondition","type":"text[]","description":"Array of WHERE-clause filter conditions for the extension's configuration table(s), or NULL if none","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-extension.html","source_path":"sources/postgresql/13/catalog-pg-extension.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_extension.h","definition_source_path":"sources/postgresql/13/source/pg_extension.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3079,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_extension stores information about the installed extensions. See Section 38.17 for details about extensions.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extname","type":"name","description":"Name of the extension","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extowner","type":"oid","description":"Owner of the extension","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extnamespace","type":"oid","description":"Schema containing the extension's exported objects","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extrelocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extversion","type":"text","description":"Version name for the extension","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extconfig","type":"oid[]","description":"Array of regclass OIDs for the extension's configuration table(s), or NULL if none","references":"pg_class.oid","hidden":false,"type_oid":1028,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"extcondition","type":"text[]","description":"Array of WHERE-clause filter conditions for the extension's configuration table(s), or NULL if none","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-extension.html","source_path":"sources/postgresql/14/catalog-pg-extension.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_extension.h","definition_source_path":"sources/postgresql/14/source/pg_extension.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3079,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_extension stores information about the installed extensions. See Section 38.17 for details about extensions.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extname","type":"name","description":"Name of the extension","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extowner","type":"oid","description":"Owner of the extension","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extnamespace","type":"oid","description":"Schema containing the extension's exported objects","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extrelocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extversion","type":"text","description":"Version name for the extension","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extconfig","type":"oid[]","description":"Array of regclass OIDs for the extension's configuration table(s), or NULL if none","references":"pg_class.oid","hidden":false,"type_oid":1028,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"extcondition","type":"text[]","description":"Array of WHERE-clause filter conditions for the extension's configuration table(s), or NULL if none","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-extension.html","source_path":"sources/postgresql/15/catalog-pg-extension.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_extension.h","definition_source_path":"sources/postgresql/15/source/pg_extension.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3079,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_extension stores information about the installed extensions. See Section 38.17 for details about extensions.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extname","type":"name","description":"Name of the extension","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extowner","type":"oid","description":"Owner of the extension","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extnamespace","type":"oid","description":"Schema containing the extension's exported objects","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extrelocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extversion","type":"text","description":"Version name for the extension","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extconfig","type":"oid[]","description":"Array of regclass OIDs for the extension's configuration table(s), or NULL if none","references":"pg_class.oid","hidden":false,"type_oid":1028,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"extcondition","type":"text[]","description":"Array of WHERE-clause filter conditions for the extension's configuration table(s), or NULL if none","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-extension.html","source_path":"sources/postgresql/16/catalog-pg-extension.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_extension.h","definition_source_path":"sources/postgresql/16/source/pg_extension.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3079,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_extension stores information about the installed extensions. See Section 36.17 for details about extensions.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extname","type":"name","description":"Name of the extension","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extowner","type":"oid","description":"Owner of the extension","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extnamespace","type":"oid","description":"Schema containing the extension's exported objects","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extrelocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extversion","type":"text","description":"Version name for the extension","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extconfig","type":"oid[]","description":"Array of regclass OIDs for the extension's configuration table(s), or NULL if none","references":"pg_class.oid","hidden":false,"type_oid":1028,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"extcondition","type":"text[]","description":"Array of WHERE-clause filter conditions for the extension's configuration table(s), or NULL if none","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-extension.html","source_path":"sources/postgresql/17/catalog-pg-extension.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_extension.h","definition_source_path":"sources/postgresql/17/source/pg_extension.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3079,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_extension stores information about the installed extensions. See Section 36.17 for details about extensions.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extname","type":"name","description":"Name of the extension","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extowner","type":"oid","description":"Owner of the extension","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extnamespace","type":"oid","description":"Schema containing the extension's exported objects","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extrelocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extversion","type":"text","description":"Version name for the extension","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extconfig","type":"oid[]","description":"Array of regclass OIDs for the extension's configuration table(s), or NULL if none","references":"pg_class.oid","hidden":false,"type_oid":1028,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"extcondition","type":"text[]","description":"Array of WHERE-clause filter conditions for the extension's configuration table(s), or NULL if none","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-extension.html","source_path":"sources/postgresql/18/catalog-pg-extension.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_extension.h","definition_source_path":"sources/postgresql/18/source/pg_extension.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3079,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_extension stores information about the installed extensions. See Section 36.17 for details about extensions.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extname","type":"name","description":"Name of the extension","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extowner","type":"oid","description":"Owner of the extension","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extnamespace","type":"oid","description":"Schema containing the extension's exported objects","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extrelocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extversion","type":"text","description":"Version name for the extension","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extconfig","type":"oid[]","description":"Array of regclass OIDs for the extension's configuration table(s), or NULL if none","references":"pg_class.oid","hidden":false,"type_oid":1028,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"extcondition","type":"text[]","description":"Array of WHERE-clause filter conditions for the extension's configuration table(s), or NULL if none","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-extension.html","source_path":"sources/postgresql/19/catalog-pg-extension.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_extension.h","definition_source_path":"sources/postgresql/19/source/pg_extension.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3079,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"added","added_columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_extension.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extname","type":"name","description":"Name of the extension","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extowner","type":"oid","description":"Owner of the extension","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extnamespace","type":"oid","description":"Schema containing the extension's exported objects","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extrelocatable","type":"boolean","description":"True if extension can be relocated to another schema","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"extversion","type":"text","description":"Version name for the extension","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extconfig","type":"oid[]","description":"Array of regclass OIDs for the extension's configuration table(s), or NULL if none","references":"pg_class.oid","hidden":false,"type_oid":1028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"extcondition","type":"text[]","description":"Array of WHERE-clause filter conditions for the extension's configuration table(s), or NULL if none","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[{"name":"extversion","attribute":"not_null","from":false,"to":true}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"10","to":"11","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_file_settings","kind":"view","summary":"The view pg_file_settings provides a summary of the contents of the server's configuration file(s). A row appears in this view for each “name = value” entry appearing in the files, with annotations indicating whether the value could be applied successfully. Additional row(s) may appear for problems not linked to a “name = value” entry, such as syntax errors in the files.","first_version":"9.5","last_version":"19","versions":{"9.5":{"description":"The view pg_file_settings provides a summary of the contents of the server's configuration file(s). A row appears in this view for each \"name = value\" entry appearing in the files, with annotations indicating whether the value could be applied successfully. Additional row(s) may appear for problems not linked to a \"name = value\" entry, such as syntax errors in the files.\n\nThis view is helpful for checking whether planned changes in the configuration files will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the files, not on what was last applied by the server. (The pg_settings view is usually sufficient to determine that.)\n\nThe pg_file_settings view can be read only by superusers.","columns":[{"name":"sourcefile","type":"text","description":"Full path name of the configuration file","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file where the entry appears","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seqno","type":"integer","description":"Order in which the entries are processed (1..n)","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"name","type":"text","description":"Configuration parameter name","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Value to be assigned to the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"applied","type":"boolean","description":"True if the value can be applied successfully","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this entry could not be applied","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-file-settings.html","source_path":"sources/postgresql/9.5/view-pg-file-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11701,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The view pg_file_settings provides a summary of the contents of the server's configuration file(s). A row appears in this view for each \"name = value\" entry appearing in the files, with annotations indicating whether the value could be applied successfully. Additional row(s) may appear for problems not linked to a \"name = value\" entry, such as syntax errors in the files.\n\nThis view is helpful for checking whether planned changes in the configuration files will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the files, not on what was last applied by the server. (The pg_settings view is usually sufficient to determine that.)\n\nBy default, the pg_file_settings view can be read only by superusers.","columns":[{"name":"sourcefile","type":"text","description":"Full path name of the configuration file","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file where the entry appears","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seqno","type":"integer","description":"Order in which the entries are processed (1..n)","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"name","type":"text","description":"Configuration parameter name","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Value to be assigned to the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"applied","type":"boolean","description":"True if the value can be applied successfully","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this entry could not be applied","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-file-settings.html","source_path":"sources/postgresql/9.6/view-pg-file-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11723,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The view pg_file_settings provides a summary of the contents of the server's configuration file(s). A row appears in this view for each “name = value” entry appearing in the files, with annotations indicating whether the value could be applied successfully. Additional row(s) may appear for problems not linked to a “name = value” entry, such as syntax errors in the files.\n\nThis view is helpful for checking whether planned changes in the configuration files will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the files, not on what was last applied by the server. (The pg_settings view is usually sufficient to determine that.)\n\nBy default, the pg_file_settings view can be read only by superusers.","columns":[{"name":"sourcefile","type":"text","description":"Full path name of the configuration file","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file where the entry appears","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seqno","type":"integer","description":"Order in which the entries are processed (1..n)","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"name","type":"text","description":"Configuration parameter name","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Value to be assigned to the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"applied","type":"boolean","description":"True if the value can be applied successfully","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this entry could not be applied","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-file-settings.html","source_path":"sources/postgresql/10/view-pg-file-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11605,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_file_settings provides a summary of the contents of the server's configuration file(s). A row appears in this view for each “name = value” entry appearing in the files, with annotations indicating whether the value could be applied successfully. Additional row(s) may appear for problems not linked to a “name = value” entry, such as syntax errors in the files.\n\nThis view is helpful for checking whether planned changes in the configuration files will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the files, not on what was last applied by the server. (The pg_settings view is usually sufficient to determine that.)\n\nBy default, the pg_file_settings view can be read only by superusers.","columns":[{"name":"sourcefile","type":"text","description":"Full path name of the configuration file","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file where the entry appears","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seqno","type":"integer","description":"Order in which the entries are processed (1..n)","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"name","type":"text","description":"Configuration parameter name","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Value to be assigned to the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"applied","type":"boolean","description":"True if the value can be applied successfully","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this entry could not be applied","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-file-settings.html","source_path":"sources/postgresql/11/view-pg-file-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11673,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_file_settings provides a summary of the contents of the server's configuration file(s). A row appears in this view for each “name = value” entry appearing in the files, with annotations indicating whether the value could be applied successfully. Additional row(s) may appear for problems not linked to a “name = value” entry, such as syntax errors in the files.\n\nThis view is helpful for checking whether planned changes in the configuration files will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the files, not on what was last applied by the server. (The pg_settings view is usually sufficient to determine that.)\n\nBy default, the pg_file_settings view can be read only by superusers.","columns":[{"name":"sourcefile","type":"text","description":"Full path name of the configuration file","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file where the entry appears","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seqno","type":"integer","description":"Order in which the entries are processed (1..n)","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"name","type":"text","description":"Configuration parameter name","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Value to be assigned to the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"applied","type":"boolean","description":"True if the value can be applied successfully","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this entry could not be applied","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-file-settings.html","source_path":"sources/postgresql/12/view-pg-file-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12171,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_file_settings provides a summary of the contents of the server's configuration file(s). A row appears in this view for each “name = value” entry appearing in the files, with annotations indicating whether the value could be applied successfully. Additional row(s) may appear for problems not linked to a “name = value” entry, such as syntax errors in the files.\n\nThis view is helpful for checking whether planned changes in the configuration files will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the files, not on what was last applied by the server. (The pg_settings view is usually sufficient to determine that.)\n\nBy default, the pg_file_settings view can be read only by superusers.","columns":[{"name":"sourcefile","type":"text","description":"Full path name of the configuration file","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file where the entry appears","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seqno","type":"integer","description":"Order in which the entries are processed (1..n)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"name","type":"text","description":"Configuration parameter name","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Value to be assigned to the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"applied","type":"boolean","description":"True if the value can be applied successfully","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this entry could not be applied","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-file-settings.html","source_path":"sources/postgresql/13/view-pg-file-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12170,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_file_settings provides a summary of the contents of the server's configuration file(s). A row appears in this view for each “name = value” entry appearing in the files, with annotations indicating whether the value could be applied successfully. Additional row(s) may appear for problems not linked to a “name = value” entry, such as syntax errors in the files.\n\nThis view is helpful for checking whether planned changes in the configuration files will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the files, not on what was last applied by the server. (The pg_settings view is usually sufficient to determine that.)\n\nBy default, the pg_file_settings view can be read only by superusers.","columns":[{"name":"sourcefile","type":"text","description":"Full path name of the configuration file","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file where the entry appears","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seqno","type":"integer","description":"Order in which the entries are processed (1..n)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"name","type":"text","description":"Configuration parameter name","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Value to be assigned to the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"applied","type":"boolean","description":"True if the value can be applied successfully","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this entry could not be applied","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-file-settings.html","source_path":"sources/postgresql/14/view-pg-file-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12327,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_file_settings provides a summary of the contents of the server's configuration file(s). A row appears in this view for each “name = value” entry appearing in the files, with annotations indicating whether the value could be applied successfully. Additional row(s) may appear for problems not linked to a “name = value” entry, such as syntax errors in the files.\n\nThis view is helpful for checking whether planned changes in the configuration files will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the files, not on what was last applied by the server. (The pg_settings view is usually sufficient to determine that.)\n\nBy default, the pg_file_settings view can be read only by superusers.","columns":[{"name":"sourcefile","type":"text","description":"Full path name of the configuration file","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file where the entry appears","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seqno","type":"integer","description":"Order in which the entries are processed (1..n)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"name","type":"text","description":"Configuration parameter name","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Value to be assigned to the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"applied","type":"boolean","description":"True if the value can be applied successfully","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this entry could not be applied","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-file-settings.html","source_path":"sources/postgresql/15/view-pg-file-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12110,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_file_settings provides a summary of the contents of the server's configuration file(s). A row appears in this view for each “name = value” entry appearing in the files, with annotations indicating whether the value could be applied successfully. Additional row(s) may appear for problems not linked to a “name = value” entry, such as syntax errors in the files.\n\nThis view is helpful for checking whether planned changes in the configuration files will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the files, not on what was last applied by the server. (The pg_settings view is usually sufficient to determine that.)\n\nBy default, the pg_file_settings view can be read only by superusers.","columns":[{"name":"sourcefile","type":"text","description":"Full path name of the configuration file","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file where the entry appears","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seqno","type":"integer","description":"Order in which the entries are processed (1..n)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"name","type":"text","description":"Configuration parameter name","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Value to be assigned to the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"applied","type":"boolean","description":"True if the value can be applied successfully","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this entry could not be applied","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-file-settings.html","source_path":"sources/postgresql/16/view-pg-file-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12110,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_file_settings provides a summary of the contents of the server's configuration file(s). A row appears in this view for each “name = value” entry appearing in the files, with annotations indicating whether the value could be applied successfully. Additional row(s) may appear for problems not linked to a “name = value” entry, such as syntax errors in the files.\n\nThis view is helpful for checking whether planned changes in the configuration files will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the files, not on what was last applied by the server. (The pg_settings view is usually sufficient to determine that.)\n\nBy default, the pg_file_settings view can be read only by superusers.","columns":[{"name":"sourcefile","type":"text","description":"Full path name of the configuration file","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file where the entry appears","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seqno","type":"integer","description":"Order in which the entries are processed (1..n)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"name","type":"text","description":"Configuration parameter name","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Value to be assigned to the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"applied","type":"boolean","description":"True if the value can be applied successfully","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this entry could not be applied","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-file-settings.html","source_path":"sources/postgresql/17/view-pg-file-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12110,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_file_settings provides a summary of the contents of the server's configuration file(s). A row appears in this view for each “name = value” entry appearing in the files, with annotations indicating whether the value could be applied successfully. Additional row(s) may appear for problems not linked to a “name = value” entry, such as syntax errors in the files.\n\nThis view is helpful for checking whether planned changes in the configuration files will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the files, not on what was last applied by the server. (The pg_settings view is usually sufficient to determine that.)\n\nBy default, the pg_file_settings view can be read only by superusers.","columns":[{"name":"sourcefile","type":"text","description":"Full path name of the configuration file","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file where the entry appears","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seqno","type":"integer","description":"Order in which the entries are processed (1..n)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"name","type":"text","description":"Configuration parameter name","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Value to be assigned to the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"applied","type":"boolean","description":"True if the value can be applied successfully","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this entry could not be applied","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-file-settings.html","source_path":"sources/postgresql/18/view-pg-file-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12110,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_file_settings provides a summary of the contents of the server's configuration file(s). A row appears in this view for each “name = value” entry appearing in the files, with annotations indicating whether the value could be applied successfully. Additional row(s) may appear for problems not linked to a “name = value” entry, such as syntax errors in the files.\n\nThis view is helpful for checking whether planned changes in the configuration files will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the files, not on what was last applied by the server. (The pg_settings view is usually sufficient to determine that.)\n\nBy default, the pg_file_settings view can be read only by superusers.","columns":[{"name":"sourcefile","type":"text","description":"Full path name of the configuration file","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file where the entry appears","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seqno","type":"integer","description":"Order in which the entries are processed (1..n)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"name","type":"text","description":"Configuration parameter name","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Value to be assigned to the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"applied","type":"boolean","description":"True if the value can be applied successfully","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this entry could not be applied","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-file-settings.html","source_path":"sources/postgresql/19/view-pg-file-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12115,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.4","to":"9.5","status":"added","added_columns":[{"name":"sourcefile","type":"text","description":"Full path name of the configuration file","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file where the entry appears","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seqno","type":"integer","description":"Order in which the entries are processed (1..n)","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"name","type":"text","description":"Configuration parameter name","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Value to be assigned to the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"applied","type":"boolean","description":"True if the value can be applied successfully","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this entry could not be applied","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_foreign_data_wrapper","kind":"catalog","summary":"foreign-data wrapper definitions","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_foreign_data_wrapper stores foreign-data wrapper definitions. A foreign-data wrapper is the mechanism by which external data, residing on foreign servers, is accessed.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_foreign_data_wrapper.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwname","type":"name","description":"Name of the foreign-data wrapper","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwowner","type":"oid","description":"Owner of the foreign-data wrapper","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwvalidator","type":"oid","description":"References a validator function that is responsible for checking the validity of the generic options given to the foreign-data wrapper, as well as to foreign servers and user mappings using the foreign-data wrapper. Zero if no validator is provided.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"fdwoptions","type":"text[]","description":"Foreign-data wrapper specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-foreign-data-wrapper.html","source_path":"sources/postgresql/9.0/catalog-pg-foreign-data-wrapper.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_foreign_data_wrapper.h","definition_source_path":"sources/postgresql/9.0/source/pg_foreign_data_wrapper.h","source_column_count":6,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2328,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_foreign_data_wrapper stores foreign-data wrapper definitions. A foreign-data wrapper is the mechanism by which external data, residing on foreign servers, is accessed.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_foreign_data_wrapper.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwname","type":"name","description":"Name of the foreign-data wrapper","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwowner","type":"oid","description":"Owner of the foreign-data wrapper","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwhandler","type":"oid","description":"References a handler function that is responsible for supplying execution routines for the foreign-data wrapper. Zero if no handler is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwvalidator","type":"oid","description":"References a validator function that is responsible for checking the validity of the options given to the foreign-data wrapper, as well as options for foreign servers and user mappings using the foreign-data wrapper. Zero if no validator is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"fdwoptions","type":"text[]","description":"Foreign-data wrapper specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-foreign-data-wrapper.html","source_path":"sources/postgresql/9.1/catalog-pg-foreign-data-wrapper.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_foreign_data_wrapper.h","definition_source_path":"sources/postgresql/9.1/source/pg_foreign_data_wrapper.h","source_column_count":7,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2328,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_foreign_data_wrapper stores foreign-data wrapper definitions. A foreign-data wrapper is the mechanism by which external data, residing on foreign servers, is accessed.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_foreign_data_wrapper.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwname","type":"name","description":"Name of the foreign-data wrapper","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwowner","type":"oid","description":"Owner of the foreign-data wrapper","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwhandler","type":"oid","description":"References a handler function that is responsible for supplying execution routines for the foreign-data wrapper. Zero if no handler is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwvalidator","type":"oid","description":"References a validator function that is responsible for checking the validity of the options given to the foreign-data wrapper, as well as options for foreign servers and user mappings using the foreign-data wrapper. Zero if no validator is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"fdwoptions","type":"text[]","description":"Foreign-data wrapper specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-foreign-data-wrapper.html","source_path":"sources/postgresql/9.2/catalog-pg-foreign-data-wrapper.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_foreign_data_wrapper.h","definition_source_path":"sources/postgresql/9.2/source/pg_foreign_data_wrapper.h","source_column_count":7,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2328,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_foreign_data_wrapper stores foreign-data wrapper definitions. A foreign-data wrapper is the mechanism by which external data, residing on foreign servers, is accessed.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwname","type":"name","description":"Name of the foreign-data wrapper","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwowner","type":"oid","description":"Owner of the foreign-data wrapper","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwhandler","type":"oid","description":"References a handler function that is responsible for supplying execution routines for the foreign-data wrapper. Zero if no handler is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwvalidator","type":"oid","description":"References a validator function that is responsible for checking the validity of the options given to the foreign-data wrapper, as well as options for foreign servers and user mappings using the foreign-data wrapper. Zero if no validator is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"fdwoptions","type":"text[]","description":"Foreign-data wrapper specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-foreign-data-wrapper.html","source_path":"sources/postgresql/9.3/catalog-pg-foreign-data-wrapper.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_foreign_data_wrapper.h","definition_source_path":"sources/postgresql/9.3/source/pg_foreign_data_wrapper.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2328,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_foreign_data_wrapper stores foreign-data wrapper definitions. A foreign-data wrapper is the mechanism by which external data, residing on foreign servers, is accessed.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwname","type":"name","description":"Name of the foreign-data wrapper","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwowner","type":"oid","description":"Owner of the foreign-data wrapper","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwhandler","type":"oid","description":"References a handler function that is responsible for supplying execution routines for the foreign-data wrapper. Zero if no handler is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwvalidator","type":"oid","description":"References a validator function that is responsible for checking the validity of the options given to the foreign-data wrapper, as well as options for foreign servers and user mappings using the foreign-data wrapper. Zero if no validator is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"fdwoptions","type":"text[]","description":"Foreign-data wrapper specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-foreign-data-wrapper.html","source_path":"sources/postgresql/9.4/catalog-pg-foreign-data-wrapper.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_foreign_data_wrapper.h","definition_source_path":"sources/postgresql/9.4/source/pg_foreign_data_wrapper.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2328,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_foreign_data_wrapper stores foreign-data wrapper definitions. A foreign-data wrapper is the mechanism by which external data, residing on foreign servers, is accessed.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwname","type":"name","description":"Name of the foreign-data wrapper","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwowner","type":"oid","description":"Owner of the foreign-data wrapper","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwhandler","type":"oid","description":"References a handler function that is responsible for supplying execution routines for the foreign-data wrapper. Zero if no handler is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwvalidator","type":"oid","description":"References a validator function that is responsible for checking the validity of the options given to the foreign-data wrapper, as well as options for foreign servers and user mappings using the foreign-data wrapper. Zero if no validator is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"fdwoptions","type":"text[]","description":"Foreign-data wrapper specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-foreign-data-wrapper.html","source_path":"sources/postgresql/9.5/catalog-pg-foreign-data-wrapper.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_foreign_data_wrapper.h","definition_source_path":"sources/postgresql/9.5/source/pg_foreign_data_wrapper.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2328,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_foreign_data_wrapper stores foreign-data wrapper definitions. A foreign-data wrapper is the mechanism by which external data, residing on foreign servers, is accessed.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwname","type":"name","description":"Name of the foreign-data wrapper","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwowner","type":"oid","description":"Owner of the foreign-data wrapper","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwhandler","type":"oid","description":"References a handler function that is responsible for supplying execution routines for the foreign-data wrapper. Zero if no handler is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwvalidator","type":"oid","description":"References a validator function that is responsible for checking the validity of the options given to the foreign-data wrapper, as well as options for foreign servers and user mappings using the foreign-data wrapper. Zero if no validator is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"fdwoptions","type":"text[]","description":"Foreign-data wrapper specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-foreign-data-wrapper.html","source_path":"sources/postgresql/9.6/catalog-pg-foreign-data-wrapper.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_foreign_data_wrapper.h","definition_source_path":"sources/postgresql/9.6/source/pg_foreign_data_wrapper.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2328,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_foreign_data_wrapper stores foreign-data wrapper definitions. A foreign-data wrapper is the mechanism by which external data, residing on foreign servers, is accessed.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwname","type":"name","description":"Name of the foreign-data wrapper","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwowner","type":"oid","description":"Owner of the foreign-data wrapper","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwhandler","type":"oid","description":"References a handler function that is responsible for supplying execution routines for the foreign-data wrapper. Zero if no handler is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwvalidator","type":"oid","description":"References a validator function that is responsible for checking the validity of the options given to the foreign-data wrapper, as well as options for foreign servers and user mappings using the foreign-data wrapper. Zero if no validator is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"fdwoptions","type":"text[]","description":"Foreign-data wrapper specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-foreign-data-wrapper.html","source_path":"sources/postgresql/10/catalog-pg-foreign-data-wrapper.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_foreign_data_wrapper.h","definition_source_path":"sources/postgresql/10/source/pg_foreign_data_wrapper.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2328,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_foreign_data_wrapper stores foreign-data wrapper definitions. A foreign-data wrapper is the mechanism by which external data, residing on foreign servers, is accessed.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwname","type":"name","description":"Name of the foreign-data wrapper","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwowner","type":"oid","description":"Owner of the foreign-data wrapper","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwhandler","type":"oid","description":"References a handler function that is responsible for supplying execution routines for the foreign-data wrapper. Zero if no handler is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwvalidator","type":"oid","description":"References a validator function that is responsible for checking the validity of the options given to the foreign-data wrapper, as well as options for foreign servers and user mappings using the foreign-data wrapper. Zero if no validator is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"fdwoptions","type":"text[]","description":"Foreign-data wrapper specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-foreign-data-wrapper.html","source_path":"sources/postgresql/11/catalog-pg-foreign-data-wrapper.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_foreign_data_wrapper.h","definition_source_path":"sources/postgresql/11/source/pg_foreign_data_wrapper.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2328,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_foreign_data_wrapper stores foreign-data wrapper definitions. A foreign-data wrapper is the mechanism by which external data, residing on foreign servers, is accessed.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwname","type":"name","description":"Name of the foreign-data wrapper","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwowner","type":"oid","description":"Owner of the foreign-data wrapper","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwhandler","type":"oid","description":"References a handler function that is responsible for supplying execution routines for the foreign-data wrapper. Zero if no handler is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwvalidator","type":"oid","description":"References a validator function that is responsible for checking the validity of the options given to the foreign-data wrapper, as well as options for foreign servers and user mappings using the foreign-data wrapper. Zero if no validator is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"fdwoptions","type":"text[]","description":"Foreign-data wrapper specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-foreign-data-wrapper.html","source_path":"sources/postgresql/12/catalog-pg-foreign-data-wrapper.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_foreign_data_wrapper.h","definition_source_path":"sources/postgresql/12/source/pg_foreign_data_wrapper.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2328,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_foreign_data_wrapper stores foreign-data wrapper definitions. A foreign-data wrapper is the mechanism by which external data, residing on foreign servers, is accessed.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwname","type":"name","description":"Name of the foreign-data wrapper","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwowner","type":"oid","description":"Owner of the foreign-data wrapper","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwhandler","type":"oid","description":"References a handler function that is responsible for supplying execution routines for the foreign-data wrapper. Zero if no handler is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwvalidator","type":"oid","description":"References a validator function that is responsible for checking the validity of the options given to the foreign-data wrapper, as well as options for foreign servers and user mappings using the foreign-data wrapper. Zero if no validator is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"fdwoptions","type":"text[]","description":"Foreign-data wrapper specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-foreign-data-wrapper.html","source_path":"sources/postgresql/13/catalog-pg-foreign-data-wrapper.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_foreign_data_wrapper.h","definition_source_path":"sources/postgresql/13/source/pg_foreign_data_wrapper.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2328,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_foreign_data_wrapper stores foreign-data wrapper definitions. A foreign-data wrapper is the mechanism by which external data, residing on foreign servers, is accessed.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwname","type":"name","description":"Name of the foreign-data wrapper","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwowner","type":"oid","description":"Owner of the foreign-data wrapper","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwhandler","type":"oid","description":"References a handler function that is responsible for supplying execution routines for the foreign-data wrapper. Zero if no handler is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwvalidator","type":"oid","description":"References a validator function that is responsible for checking the validity of the options given to the foreign-data wrapper, as well as options for foreign servers and user mappings using the foreign-data wrapper. Zero if no validator is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"fdwoptions","type":"text[]","description":"Foreign-data wrapper specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-foreign-data-wrapper.html","source_path":"sources/postgresql/14/catalog-pg-foreign-data-wrapper.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_foreign_data_wrapper.h","definition_source_path":"sources/postgresql/14/source/pg_foreign_data_wrapper.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2328,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_foreign_data_wrapper stores foreign-data wrapper definitions. A foreign-data wrapper is the mechanism by which external data, residing on foreign servers, is accessed.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwname","type":"name","description":"Name of the foreign-data wrapper","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwowner","type":"oid","description":"Owner of the foreign-data wrapper","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwhandler","type":"oid","description":"References a handler function that is responsible for supplying execution routines for the foreign-data wrapper. Zero if no handler is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwvalidator","type":"oid","description":"References a validator function that is responsible for checking the validity of the options given to the foreign-data wrapper, as well as options for foreign servers and user mappings using the foreign-data wrapper. Zero if no validator is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"fdwoptions","type":"text[]","description":"Foreign-data wrapper specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-foreign-data-wrapper.html","source_path":"sources/postgresql/15/catalog-pg-foreign-data-wrapper.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_foreign_data_wrapper.h","definition_source_path":"sources/postgresql/15/source/pg_foreign_data_wrapper.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2328,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_foreign_data_wrapper stores foreign-data wrapper definitions. A foreign-data wrapper is the mechanism by which external data, residing on foreign servers, is accessed.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwname","type":"name","description":"Name of the foreign-data wrapper","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwowner","type":"oid","description":"Owner of the foreign-data wrapper","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwhandler","type":"oid","description":"References a handler function that is responsible for supplying execution routines for the foreign-data wrapper. Zero if no handler is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwvalidator","type":"oid","description":"References a validator function that is responsible for checking the validity of the options given to the foreign-data wrapper, as well as options for foreign servers and user mappings using the foreign-data wrapper. Zero if no validator is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"fdwoptions","type":"text[]","description":"Foreign-data wrapper specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-foreign-data-wrapper.html","source_path":"sources/postgresql/16/catalog-pg-foreign-data-wrapper.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_foreign_data_wrapper.h","definition_source_path":"sources/postgresql/16/source/pg_foreign_data_wrapper.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2328,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_foreign_data_wrapper stores foreign-data wrapper definitions. A foreign-data wrapper is the mechanism by which external data, residing on foreign servers, is accessed.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwname","type":"name","description":"Name of the foreign-data wrapper","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwowner","type":"oid","description":"Owner of the foreign-data wrapper","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwhandler","type":"oid","description":"References a handler function that is responsible for supplying execution routines for the foreign-data wrapper. Zero if no handler is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwvalidator","type":"oid","description":"References a validator function that is responsible for checking the validity of the options given to the foreign-data wrapper, as well as options for foreign servers and user mappings using the foreign-data wrapper. Zero if no validator is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwacl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"fdwoptions","type":"text[]","description":"Foreign-data wrapper specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-foreign-data-wrapper.html","source_path":"sources/postgresql/17/catalog-pg-foreign-data-wrapper.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_foreign_data_wrapper.h","definition_source_path":"sources/postgresql/17/source/pg_foreign_data_wrapper.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2328,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_foreign_data_wrapper stores foreign-data wrapper definitions. A foreign-data wrapper is the mechanism by which external data, residing on foreign servers, is accessed.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwname","type":"name","description":"Name of the foreign-data wrapper","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwowner","type":"oid","description":"Owner of the foreign-data wrapper","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwhandler","type":"oid","description":"References a handler function that is responsible for supplying execution routines for the foreign-data wrapper. Zero if no handler is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwvalidator","type":"oid","description":"References a validator function that is responsible for checking the validity of the options given to the foreign-data wrapper, as well as options for foreign servers and user mappings using the foreign-data wrapper. Zero if no validator is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwacl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"fdwoptions","type":"text[]","description":"Foreign-data wrapper specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-foreign-data-wrapper.html","source_path":"sources/postgresql/18/catalog-pg-foreign-data-wrapper.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_foreign_data_wrapper.h","definition_source_path":"sources/postgresql/18/source/pg_foreign_data_wrapper.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":2328,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_foreign_data_wrapper stores foreign-data wrapper definitions. A foreign-data wrapper is the mechanism by which external data, residing on foreign servers, is accessed.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwname","type":"name","description":"Name of the foreign-data wrapper","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwowner","type":"oid","description":"Owner of the foreign-data wrapper","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwhandler","type":"oid","description":"References a handler function that is responsible for supplying execution routines for the foreign-data wrapper. Zero if no handler is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwvalidator","type":"oid","description":"References a validator function that is responsible for checking the validity of the options given to the foreign-data wrapper, as well as options for foreign servers and user mappings using the foreign-data wrapper. Zero if no validator is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwconnection","type":"oid","description":"References a connection function that is responsible for creating a connection string for a subscription when the subscription uses a server based on this foreign-data wrapper. Zero if this foreign-data wrapper does not support subscription connections.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"fdwacl","type":"aclitem[]","description":"Access privileges; see Section 5.9 for details","hidden":false,"type_oid":1034,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"fdwoptions","type":"text[]","description":"Foreign-data wrapper specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-foreign-data-wrapper.html","source_path":"sources/postgresql/19/catalog-pg-foreign-data-wrapper.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_foreign_data_wrapper.h","definition_source_path":"sources/postgresql/19/source/pg_foreign_data_wrapper.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2328,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[{"name":"fdwhandler","type":"oid","description":"References a handler function that is responsible for supplying execution routines for the foreign-data wrapper. Zero if no handler is provided","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"fdwvalidator","from":"References a validator function that is responsible for checking the validity of the generic options given to the foreign-data wrapper, as well as to foreign servers and user mappings using the foreign-data wrapper. Zero if no validator is provided.","to":"References a validator function that is responsible for checking the validity of the options given to the foreign-data wrapper, as well as options for foreign servers and user mappings using the foreign-data wrapper. Zero if no validator is provided"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"fdwoptions","from":"Foreign-data wrapper specific options, as \"keyword=value\" strings","to":"Foreign-data wrapper specific options, as “keyword=value” strings"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"fdwacl","from":"Access privileges; see GRANT and REVOKE for details","to":"Access privileges; see Section 5.7 for details"},{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"fdwacl","from":"Access privileges; see Section 5.7 for details","to":"Access privileges; see Section 5.8 for details"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"fdwconnection","type":"oid","description":"References a connection function that is responsible for creating a connection string for a subscription when the subscription uses a server based on this foreign-data wrapper. Zero if this foreign-data wrapper does not support subscription connections.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"fdwacl","from":"Access privileges; see Section 5.8 for details","to":"Access privileges; see Section 5.9 for details"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_foreign_server","kind":"catalog","summary":"foreign server definitions","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_foreign_server stores foreign server definitions. A foreign server describes the connection to a remote server, managing external data. Foreign servers are accessed via foreign-data wrappers.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_foreign_server.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvname","type":"name","description":"Name of the foreign server","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvowner","type":"oid","description":"Owner of the foreign server","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvfdw","type":"oid","description":"The OID of the foreign-data wrapper of this foreign server","references":"pg_foreign_data_wrapper.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvtype","type":"text","description":"Type of the server (optional)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvversion","type":"text","description":"Version of the server (optional)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"srvoptions","type":"text[]","description":"Foreign server specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-foreign-server.html","source_path":"sources/postgresql/9.0/catalog-pg-foreign-server.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_foreign_server.h","definition_source_path":"sources/postgresql/9.0/source/pg_foreign_server.h","source_column_count":8,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1417,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_foreign_server stores foreign server definitions. A foreign server describes a source of external data, such as a remote server. Foreign servers are accessed via foreign-data wrappers.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_foreign_server.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvname","type":"name","description":"Name of the foreign server","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvowner","type":"oid","description":"Owner of the foreign server","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvfdw","type":"oid","description":"OID of the foreign-data wrapper of this foreign server","references":"pg_foreign_data_wrapper.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvtype","type":"text","description":"Type of the server (optional)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvversion","type":"text","description":"Version of the server (optional)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"srvoptions","type":"text[]","description":"Foreign server specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-foreign-server.html","source_path":"sources/postgresql/9.1/catalog-pg-foreign-server.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_foreign_server.h","definition_source_path":"sources/postgresql/9.1/source/pg_foreign_server.h","source_column_count":8,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1417,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_foreign_server stores foreign server definitions. A foreign server describes a source of external data, such as a remote server. Foreign servers are accessed via foreign-data wrappers.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_foreign_server.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvname","type":"name","description":"Name of the foreign server","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvowner","type":"oid","description":"Owner of the foreign server","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvfdw","type":"oid","description":"OID of the foreign-data wrapper of this foreign server","references":"pg_foreign_data_wrapper.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvtype","type":"text","description":"Type of the server (optional)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvversion","type":"text","description":"Version of the server (optional)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"srvoptions","type":"text[]","description":"Foreign server specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-foreign-server.html","source_path":"sources/postgresql/9.2/catalog-pg-foreign-server.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_foreign_server.h","definition_source_path":"sources/postgresql/9.2/source/pg_foreign_server.h","source_column_count":8,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1417,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_foreign_server stores foreign server definitions. A foreign server describes a source of external data, such as a remote server. Foreign servers are accessed via foreign-data wrappers.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvname","type":"name","description":"Name of the foreign server","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvowner","type":"oid","description":"Owner of the foreign server","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvfdw","type":"oid","description":"OID of the foreign-data wrapper of this foreign server","references":"pg_foreign_data_wrapper.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvtype","type":"text","description":"Type of the server (optional)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvversion","type":"text","description":"Version of the server (optional)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"srvoptions","type":"text[]","description":"Foreign server specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-foreign-server.html","source_path":"sources/postgresql/9.3/catalog-pg-foreign-server.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_foreign_server.h","definition_source_path":"sources/postgresql/9.3/source/pg_foreign_server.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1417,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_foreign_server stores foreign server definitions. A foreign server describes a source of external data, such as a remote server. Foreign servers are accessed via foreign-data wrappers.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvname","type":"name","description":"Name of the foreign server","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvowner","type":"oid","description":"Owner of the foreign server","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvfdw","type":"oid","description":"OID of the foreign-data wrapper of this foreign server","references":"pg_foreign_data_wrapper.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvtype","type":"text","description":"Type of the server (optional)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvversion","type":"text","description":"Version of the server (optional)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"srvoptions","type":"text[]","description":"Foreign server specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-foreign-server.html","source_path":"sources/postgresql/9.4/catalog-pg-foreign-server.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_foreign_server.h","definition_source_path":"sources/postgresql/9.4/source/pg_foreign_server.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1417,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_foreign_server stores foreign server definitions. A foreign server describes a source of external data, such as a remote server. Foreign servers are accessed via foreign-data wrappers.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvname","type":"name","description":"Name of the foreign server","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvowner","type":"oid","description":"Owner of the foreign server","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvfdw","type":"oid","description":"OID of the foreign-data wrapper of this foreign server","references":"pg_foreign_data_wrapper.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvtype","type":"text","description":"Type of the server (optional)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvversion","type":"text","description":"Version of the server (optional)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"srvoptions","type":"text[]","description":"Foreign server specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-foreign-server.html","source_path":"sources/postgresql/9.5/catalog-pg-foreign-server.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_foreign_server.h","definition_source_path":"sources/postgresql/9.5/source/pg_foreign_server.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1417,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_foreign_server stores foreign server definitions. A foreign server describes a source of external data, such as a remote server. Foreign servers are accessed via foreign-data wrappers.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvname","type":"name","description":"Name of the foreign server","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvowner","type":"oid","description":"Owner of the foreign server","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvfdw","type":"oid","description":"OID of the foreign-data wrapper of this foreign server","references":"pg_foreign_data_wrapper.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvtype","type":"text","description":"Type of the server (optional)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvversion","type":"text","description":"Version of the server (optional)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"srvoptions","type":"text[]","description":"Foreign server specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-foreign-server.html","source_path":"sources/postgresql/9.6/catalog-pg-foreign-server.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_foreign_server.h","definition_source_path":"sources/postgresql/9.6/source/pg_foreign_server.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1417,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_foreign_server stores foreign server definitions. A foreign server describes a source of external data, such as a remote server. Foreign servers are accessed via foreign-data wrappers.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvname","type":"name","description":"Name of the foreign server","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvowner","type":"oid","description":"Owner of the foreign server","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvfdw","type":"oid","description":"OID of the foreign-data wrapper of this foreign server","references":"pg_foreign_data_wrapper.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvtype","type":"text","description":"Type of the server (optional)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvversion","type":"text","description":"Version of the server (optional)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"srvoptions","type":"text[]","description":"Foreign server specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-foreign-server.html","source_path":"sources/postgresql/10/catalog-pg-foreign-server.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_foreign_server.h","definition_source_path":"sources/postgresql/10/source/pg_foreign_server.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1417,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_foreign_server stores foreign server definitions. A foreign server describes a source of external data, such as a remote server. Foreign servers are accessed via foreign-data wrappers.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvname","type":"name","description":"Name of the foreign server","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvowner","type":"oid","description":"Owner of the foreign server","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvfdw","type":"oid","description":"OID of the foreign-data wrapper of this foreign server","references":"pg_foreign_data_wrapper.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvtype","type":"text","description":"Type of the server (optional)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvversion","type":"text","description":"Version of the server (optional)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"srvoptions","type":"text[]","description":"Foreign server specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-foreign-server.html","source_path":"sources/postgresql/11/catalog-pg-foreign-server.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_foreign_server.h","definition_source_path":"sources/postgresql/11/source/pg_foreign_server.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1417,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_foreign_server stores foreign server definitions. A foreign server describes a source of external data, such as a remote server. Foreign servers are accessed via foreign-data wrappers.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvname","type":"name","description":"Name of the foreign server","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvowner","type":"oid","description":"Owner of the foreign server","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvfdw","type":"oid","description":"OID of the foreign-data wrapper of this foreign server","references":"pg_foreign_data_wrapper.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvtype","type":"text","description":"Type of the server (optional)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvversion","type":"text","description":"Version of the server (optional)","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"srvoptions","type":"text[]","description":"Foreign server specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-foreign-server.html","source_path":"sources/postgresql/12/catalog-pg-foreign-server.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_foreign_server.h","definition_source_path":"sources/postgresql/12/source/pg_foreign_server.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1417,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_foreign_server stores foreign server definitions. A foreign server describes a source of external data, such as a remote server. Foreign servers are accessed via foreign-data wrappers.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvname","type":"name","description":"Name of the foreign server","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvowner","type":"oid","description":"Owner of the foreign server","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvfdw","type":"oid","description":"OID of the foreign-data wrapper of this foreign server","references":"pg_foreign_data_wrapper.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvtype","type":"text","description":"Type of the server (optional)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvversion","type":"text","description":"Version of the server (optional)","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"srvoptions","type":"text[]","description":"Foreign server specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-foreign-server.html","source_path":"sources/postgresql/13/catalog-pg-foreign-server.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_foreign_server.h","definition_source_path":"sources/postgresql/13/source/pg_foreign_server.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1417,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_foreign_server stores foreign server definitions. A foreign server describes a source of external data, such as a remote server. Foreign servers are accessed via foreign-data wrappers.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvname","type":"name","description":"Name of the foreign server","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvowner","type":"oid","description":"Owner of the foreign server","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvfdw","type":"oid","description":"OID of the foreign-data wrapper of this foreign server","references":"pg_foreign_data_wrapper.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvtype","type":"text","description":"Type of the server (optional)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvversion","type":"text","description":"Version of the server (optional)","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"srvoptions","type":"text[]","description":"Foreign server specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-foreign-server.html","source_path":"sources/postgresql/14/catalog-pg-foreign-server.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_foreign_server.h","definition_source_path":"sources/postgresql/14/source/pg_foreign_server.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1417,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_foreign_server stores foreign server definitions. A foreign server describes a source of external data, such as a remote server. Foreign servers are accessed via foreign-data wrappers.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvname","type":"name","description":"Name of the foreign server","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvowner","type":"oid","description":"Owner of the foreign server","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvfdw","type":"oid","description":"OID of the foreign-data wrapper of this foreign server","references":"pg_foreign_data_wrapper.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvtype","type":"text","description":"Type of the server (optional)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvversion","type":"text","description":"Version of the server (optional)","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"srvoptions","type":"text[]","description":"Foreign server specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-foreign-server.html","source_path":"sources/postgresql/15/catalog-pg-foreign-server.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_foreign_server.h","definition_source_path":"sources/postgresql/15/source/pg_foreign_server.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1417,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_foreign_server stores foreign server definitions. A foreign server describes a source of external data, such as a remote server. Foreign servers are accessed via foreign-data wrappers.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvname","type":"name","description":"Name of the foreign server","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvowner","type":"oid","description":"Owner of the foreign server","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvfdw","type":"oid","description":"OID of the foreign-data wrapper of this foreign server","references":"pg_foreign_data_wrapper.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvtype","type":"text","description":"Type of the server (optional)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvversion","type":"text","description":"Version of the server (optional)","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"srvoptions","type":"text[]","description":"Foreign server specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-foreign-server.html","source_path":"sources/postgresql/16/catalog-pg-foreign-server.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_foreign_server.h","definition_source_path":"sources/postgresql/16/source/pg_foreign_server.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1417,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_foreign_server stores foreign server definitions. A foreign server describes a source of external data, such as a remote server. Foreign servers are accessed via foreign-data wrappers.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvname","type":"name","description":"Name of the foreign server","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvowner","type":"oid","description":"Owner of the foreign server","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvfdw","type":"oid","description":"OID of the foreign-data wrapper of this foreign server","references":"pg_foreign_data_wrapper.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvtype","type":"text","description":"Type of the server (optional)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvversion","type":"text","description":"Version of the server (optional)","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvacl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"srvoptions","type":"text[]","description":"Foreign server specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-foreign-server.html","source_path":"sources/postgresql/17/catalog-pg-foreign-server.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_foreign_server.h","definition_source_path":"sources/postgresql/17/source/pg_foreign_server.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1417,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_foreign_server stores foreign server definitions. A foreign server describes a source of external data, such as a remote server. Foreign servers are accessed via foreign-data wrappers.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvname","type":"name","description":"Name of the foreign server","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvowner","type":"oid","description":"Owner of the foreign server","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvfdw","type":"oid","description":"OID of the foreign-data wrapper of this foreign server","references":"pg_foreign_data_wrapper.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvtype","type":"text","description":"Type of the server (optional)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvversion","type":"text","description":"Version of the server (optional)","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvacl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"srvoptions","type":"text[]","description":"Foreign server specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-foreign-server.html","source_path":"sources/postgresql/18/catalog-pg-foreign-server.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_foreign_server.h","definition_source_path":"sources/postgresql/18/source/pg_foreign_server.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1417,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_foreign_server stores foreign server definitions. A foreign server describes a source of external data, such as a remote server. Foreign servers are accessed via foreign-data wrappers.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvname","type":"name","description":"Name of the foreign server","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvowner","type":"oid","description":"Owner of the foreign server","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvfdw","type":"oid","description":"OID of the foreign-data wrapper of this foreign server","references":"pg_foreign_data_wrapper.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srvtype","type":"text","description":"Type of the server (optional)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvversion","type":"text","description":"Version of the server (optional)","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvacl","type":"aclitem[]","description":"Access privileges; see Section 5.9 for details","hidden":false,"type_oid":1034,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"srvoptions","type":"text[]","description":"Foreign server specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-foreign-server.html","source_path":"sources/postgresql/19/catalog-pg-foreign-server.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_foreign_server.h","definition_source_path":"sources/postgresql/19/source/pg_foreign_server.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1417,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"srvfdw","from":"The OID of the foreign-data wrapper of this foreign server","to":"OID of the foreign-data wrapper of this foreign server"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"srvoptions","from":"Foreign server specific options, as \"keyword=value\" strings","to":"Foreign server specific options, as “keyword=value” strings"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"},{"name":"srvacl","from":"Access privileges; see GRANT and REVOKE for details","to":"Access privileges; see Section 5.7 for details"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"srvacl","from":"Access privileges; see Section 5.7 for details","to":"Access privileges; see Section 5.8 for details"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"srvacl","from":"Access privileges; see Section 5.8 for details","to":"Access privileges; see Section 5.9 for details"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_foreign_table","kind":"catalog","summary":"additional foreign table information","first_version":"9.1","last_version":"19","versions":{"9.1":{"description":"The catalog pg_foreign_table contains auxiliary information about foreign tables. A foreign table is primarily represented by a pg_class entry, just like a regular table. Its pg_foreign_table entry contains the information that is pertinent only to foreign tables and not any other kind of relation.","columns":[{"name":"ftrelid","type":"oid","description":"OID of the pg_class entry for this foreign table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftserver","type":"oid","description":"OID of the foreign server for this foreign table","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftoptions","type":"text[]","description":"Foreign table options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-foreign-table.html","source_path":"sources/postgresql/9.1/catalog-pg-foreign-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_foreign_table.h","definition_source_path":"sources/postgresql/9.1/source/pg_foreign_table.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":3118,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_foreign_table contains auxiliary information about foreign tables. A foreign table is primarily represented by a pg_class entry, just like a regular table. Its pg_foreign_table entry contains the information that is pertinent only to foreign tables and not any other kind of relation.","columns":[{"name":"ftrelid","type":"oid","description":"OID of the pg_class entry for this foreign table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftserver","type":"oid","description":"OID of the foreign server for this foreign table","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftoptions","type":"text[]","description":"Foreign table options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-foreign-table.html","source_path":"sources/postgresql/9.2/catalog-pg-foreign-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_foreign_table.h","definition_source_path":"sources/postgresql/9.2/source/pg_foreign_table.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":3118,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_foreign_table contains auxiliary information about foreign tables. A foreign table is primarily represented by a pg_class entry, just like a regular table. Its pg_foreign_table entry contains the information that is pertinent only to foreign tables and not any other kind of relation.","columns":[{"name":"ftrelid","type":"oid","description":"OID of the pg_class entry for this foreign table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftserver","type":"oid","description":"OID of the foreign server for this foreign table","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftoptions","type":"text[]","description":"Foreign table options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-foreign-table.html","source_path":"sources/postgresql/9.3/catalog-pg-foreign-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_foreign_table.h","definition_source_path":"sources/postgresql/9.3/source/pg_foreign_table.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":3118,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_foreign_table contains auxiliary information about foreign tables. A foreign table is primarily represented by a pg_class entry, just like a regular table. Its pg_foreign_table entry contains the information that is pertinent only to foreign tables and not any other kind of relation.","columns":[{"name":"ftrelid","type":"oid","description":"OID of the pg_class entry for this foreign table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftserver","type":"oid","description":"OID of the foreign server for this foreign table","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftoptions","type":"text[]","description":"Foreign table options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-foreign-table.html","source_path":"sources/postgresql/9.4/catalog-pg-foreign-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_foreign_table.h","definition_source_path":"sources/postgresql/9.4/source/pg_foreign_table.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":3118,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_foreign_table contains auxiliary information about foreign tables. A foreign table is primarily represented by a pg_class entry, just like a regular table. Its pg_foreign_table entry contains the information that is pertinent only to foreign tables and not any other kind of relation.","columns":[{"name":"ftrelid","type":"oid","description":"OID of the pg_class entry for this foreign table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftserver","type":"oid","description":"OID of the foreign server for this foreign table","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftoptions","type":"text[]","description":"Foreign table options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-foreign-table.html","source_path":"sources/postgresql/9.5/catalog-pg-foreign-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_foreign_table.h","definition_source_path":"sources/postgresql/9.5/source/pg_foreign_table.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":3118,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_foreign_table contains auxiliary information about foreign tables. A foreign table is primarily represented by a pg_class entry, just like a regular table. Its pg_foreign_table entry contains the information that is pertinent only to foreign tables and not any other kind of relation.","columns":[{"name":"ftrelid","type":"oid","description":"OID of the pg_class entry for this foreign table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftserver","type":"oid","description":"OID of the foreign server for this foreign table","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftoptions","type":"text[]","description":"Foreign table options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-foreign-table.html","source_path":"sources/postgresql/9.6/catalog-pg-foreign-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_foreign_table.h","definition_source_path":"sources/postgresql/9.6/source/pg_foreign_table.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":3118,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_foreign_table contains auxiliary information about foreign tables. A foreign table is primarily represented by a pg_class entry, just like a regular table. Its pg_foreign_table entry contains the information that is pertinent only to foreign tables and not any other kind of relation.","columns":[{"name":"ftrelid","type":"oid","description":"OID of the pg_class entry for this foreign table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftserver","type":"oid","description":"OID of the foreign server for this foreign table","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftoptions","type":"text[]","description":"Foreign table options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-foreign-table.html","source_path":"sources/postgresql/10/catalog-pg-foreign-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_foreign_table.h","definition_source_path":"sources/postgresql/10/source/pg_foreign_table.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":3118,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_foreign_table contains auxiliary information about foreign tables. A foreign table is primarily represented by a pg_class entry, just like a regular table. Its pg_foreign_table entry contains the information that is pertinent only to foreign tables and not any other kind of relation.","columns":[{"name":"ftrelid","type":"oid","description":"OID of the pg_class entry for this foreign table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftserver","type":"oid","description":"OID of the foreign server for this foreign table","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftoptions","type":"text[]","description":"Foreign table options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-foreign-table.html","source_path":"sources/postgresql/11/catalog-pg-foreign-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_foreign_table.h","definition_source_path":"sources/postgresql/11/source/pg_foreign_table.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":3118,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_foreign_table contains auxiliary information about foreign tables. A foreign table is primarily represented by a pg_class entry, just like a regular table. Its pg_foreign_table entry contains the information that is pertinent only to foreign tables and not any other kind of relation.","columns":[{"name":"ftrelid","type":"oid","description":"OID of the pg_class entry for this foreign table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftserver","type":"oid","description":"OID of the foreign server for this foreign table","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftoptions","type":"text[]","description":"Foreign table options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-foreign-table.html","source_path":"sources/postgresql/12/catalog-pg-foreign-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_foreign_table.h","definition_source_path":"sources/postgresql/12/source/pg_foreign_table.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":3118,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_foreign_table contains auxiliary information about foreign tables. A foreign table is primarily represented by a pg_class entry, just like a regular table. Its pg_foreign_table entry contains the information that is pertinent only to foreign tables and not any other kind of relation.","columns":[{"name":"ftrelid","type":"oid","description":"OID of the pg_class entry for this foreign table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftserver","type":"oid","description":"OID of the foreign server for this foreign table","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftoptions","type":"text[]","description":"Foreign table options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-foreign-table.html","source_path":"sources/postgresql/13/catalog-pg-foreign-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_foreign_table.h","definition_source_path":"sources/postgresql/13/source/pg_foreign_table.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":3118,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_foreign_table contains auxiliary information about foreign tables. A foreign table is primarily represented by a pg_class entry, just like a regular table. Its pg_foreign_table entry contains the information that is pertinent only to foreign tables and not any other kind of relation.","columns":[{"name":"ftrelid","type":"oid","description":"The OID of the pg_class entry for this foreign table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftserver","type":"oid","description":"OID of the foreign server for this foreign table","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftoptions","type":"text[]","description":"Foreign table options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-foreign-table.html","source_path":"sources/postgresql/14/catalog-pg-foreign-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_foreign_table.h","definition_source_path":"sources/postgresql/14/source/pg_foreign_table.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":3118,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_foreign_table contains auxiliary information about foreign tables. A foreign table is primarily represented by a pg_class entry, just like a regular table. Its pg_foreign_table entry contains the information that is pertinent only to foreign tables and not any other kind of relation.","columns":[{"name":"ftrelid","type":"oid","description":"The OID of the pg_class entry for this foreign table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftserver","type":"oid","description":"OID of the foreign server for this foreign table","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftoptions","type":"text[]","description":"Foreign table options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-foreign-table.html","source_path":"sources/postgresql/15/catalog-pg-foreign-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_foreign_table.h","definition_source_path":"sources/postgresql/15/source/pg_foreign_table.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":3118,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_foreign_table contains auxiliary information about foreign tables. A foreign table is primarily represented by a pg_class entry, just like a regular table. Its pg_foreign_table entry contains the information that is pertinent only to foreign tables and not any other kind of relation.","columns":[{"name":"ftrelid","type":"oid","description":"The OID of the pg_class entry for this foreign table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftserver","type":"oid","description":"OID of the foreign server for this foreign table","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftoptions","type":"text[]","description":"Foreign table options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-foreign-table.html","source_path":"sources/postgresql/16/catalog-pg-foreign-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_foreign_table.h","definition_source_path":"sources/postgresql/16/source/pg_foreign_table.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":3118,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_foreign_table contains auxiliary information about foreign tables. A foreign table is primarily represented by a pg_class entry, just like a regular table. Its pg_foreign_table entry contains the information that is pertinent only to foreign tables and not any other kind of relation.","columns":[{"name":"ftrelid","type":"oid","description":"The OID of the pg_class entry for this foreign table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftserver","type":"oid","description":"OID of the foreign server for this foreign table","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftoptions","type":"text[]","description":"Foreign table options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-foreign-table.html","source_path":"sources/postgresql/17/catalog-pg-foreign-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_foreign_table.h","definition_source_path":"sources/postgresql/17/source/pg_foreign_table.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":3118,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_foreign_table contains auxiliary information about foreign tables. A foreign table is primarily represented by a pg_class entry, just like a regular table. Its pg_foreign_table entry contains the information that is pertinent only to foreign tables and not any other kind of relation.","columns":[{"name":"ftrelid","type":"oid","description":"The OID of the pg_class entry for this foreign table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftserver","type":"oid","description":"OID of the foreign server for this foreign table","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftoptions","type":"text[]","description":"Foreign table options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-foreign-table.html","source_path":"sources/postgresql/18/catalog-pg-foreign-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_foreign_table.h","definition_source_path":"sources/postgresql/18/source/pg_foreign_table.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":3118,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_foreign_table contains auxiliary information about foreign tables. A foreign table is primarily represented by a pg_class entry, just like a regular table. Its pg_foreign_table entry contains the information that is pertinent only to foreign tables and not any other kind of relation.","columns":[{"name":"ftrelid","type":"oid","description":"The OID of the pg_class entry for this foreign table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftserver","type":"oid","description":"OID of the foreign server for this foreign table","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftoptions","type":"text[]","description":"Foreign table options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-foreign-table.html","source_path":"sources/postgresql/19/catalog-pg-foreign-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_foreign_table.h","definition_source_path":"sources/postgresql/19/source/pg_foreign_table.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":3118,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"added","added_columns":[{"name":"ftrelid","type":"oid","description":"OID of the pg_class entry for this foreign table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftserver","type":"oid","description":"OID of the foreign server for this foreign table","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ftoptions","type":"text[]","description":"Foreign table options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"ftoptions","from":"Foreign table options, as \"keyword=value\" strings","to":"Foreign table options, as “keyword=value” strings"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"ftrelid","from":"OID of the pg_class entry for this foreign table","to":"The OID of the pg_class entry for this foreign table"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_group","kind":"view","summary":"The view pg_group exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows the names and members of all roles that are marked as not rolcanlogin, which is an approximation to the set of roles that are being used as groups.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The view pg_group exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows the names and members of all roles that are marked as not rolcanlogin, which is an approximation to the set of roles that are being used as groups.","columns":[{"name":"groname","type":"name","description":"Name of the group","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grosysid","type":"oid","description":"ID of this group","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grolist","type":"oid[]","description":"An array containing the IDs of the roles in this group","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/view-pg-group.html","source_path":"sources/postgresql/9.0/view-pg-group.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10960,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The view pg_group exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows the names and members of all roles that are marked as not rolcanlogin, which is an approximation to the set of roles that are being used as groups.","columns":[{"name":"groname","type":"name","description":"Name of the group","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grosysid","type":"oid","description":"ID of this group","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grolist","type":"oid[]","description":"An array containing the IDs of the roles in this group","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/view-pg-group.html","source_path":"sources/postgresql/9.1/view-pg-group.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10975,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The view pg_group exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows the names and members of all roles that are marked as not rolcanlogin, which is an approximation to the set of roles that are being used as groups.","columns":[{"name":"groname","type":"name","description":"Name of the group","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grosysid","type":"oid","description":"ID of this group","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grolist","type":"oid[]","description":"An array containing the IDs of the roles in this group","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/view-pg-group.html","source_path":"sources/postgresql/9.2/view-pg-group.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11043,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The view pg_group exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows the names and members of all roles that are marked as not rolcanlogin, which is an approximation to the set of roles that are being used as groups.","columns":[{"name":"groname","type":"name","description":"Name of the group","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grosysid","type":"oid","description":"ID of this group","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grolist","type":"oid[]","description":"An array containing the IDs of the roles in this group","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-group.html","source_path":"sources/postgresql/9.3/view-pg-group.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11060,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The view pg_group exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows the names and members of all roles that are marked as not rolcanlogin, which is an approximation to the set of roles that are being used as groups.","columns":[{"name":"groname","type":"name","description":"Name of the group","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grosysid","type":"oid","description":"ID of this group","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grolist","type":"oid[]","description":"An array containing the IDs of the roles in this group","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-group.html","source_path":"sources/postgresql/9.4/view-pg-group.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11157,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The view pg_group exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows the names and members of all roles that are marked as not rolcanlogin, which is an approximation to the set of roles that are being used as groups.","columns":[{"name":"groname","type":"name","description":"Name of the group","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grosysid","type":"oid","description":"ID of this group","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grolist","type":"oid[]","description":"An array containing the IDs of the roles in this group","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-group.html","source_path":"sources/postgresql/9.5/view-pg-group.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11639,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The view pg_group exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows the names and members of all roles that are marked as not rolcanlogin, which is an approximation to the set of roles that are being used as groups.","columns":[{"name":"groname","type":"name","description":"Name of the group","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grosysid","type":"oid","description":"ID of this group","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grolist","type":"oid[]","description":"An array containing the IDs of the roles in this group","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-group.html","source_path":"sources/postgresql/9.6/view-pg-group.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11661,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The view pg_group exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows the names and members of all roles that are marked as not rolcanlogin, which is an approximation to the set of roles that are being used as groups.","columns":[{"name":"groname","type":"name","description":"Name of the group","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grosysid","type":"oid","description":"ID of this group","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grolist","type":"oid[]","description":"An array containing the IDs of the roles in this group","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-group.html","source_path":"sources/postgresql/10/view-pg-group.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11535,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_group exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows the names and members of all roles that are marked as not rolcanlogin, which is an approximation to the set of roles that are being used as groups.","columns":[{"name":"groname","type":"name","description":"Name of the group","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grosysid","type":"oid","description":"ID of this group","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grolist","type":"oid[]","description":"An array containing the IDs of the roles in this group","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-group.html","source_path":"sources/postgresql/11/view-pg-group.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11603,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_group exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows the names and members of all roles that are marked as not rolcanlogin, which is an approximation to the set of roles that are being used as groups.","columns":[{"name":"groname","type":"name","description":"Name of the group","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grosysid","type":"oid","description":"ID of this group","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grolist","type":"oid[]","description":"An array containing the IDs of the roles in this group","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-group.html","source_path":"sources/postgresql/12/view-pg-group.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12097,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_group exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows the names and members of all roles that are marked as not rolcanlogin, which is an approximation to the set of roles that are being used as groups.","columns":[{"name":"groname","type":"name","description":"Name of the group","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grosysid","type":"oid","description":"ID of this group","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grolist","type":"oid[]","description":"An array containing the IDs of the roles in this group","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-group.html","source_path":"sources/postgresql/13/view-pg-group.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12095,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_group exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows the names and members of all roles that are marked as not rolcanlogin, which is an approximation to the set of roles that are being used as groups.","columns":[{"name":"groname","type":"name","description":"Name of the group","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grosysid","type":"oid","description":"ID of this group","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grolist","type":"oid[]","description":"An array containing the IDs of the roles in this group","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-group.html","source_path":"sources/postgresql/14/view-pg-group.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12227,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_group exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows the names and members of all roles that are marked as not rolcanlogin, which is an approximation to the set of roles that are being used as groups.","columns":[{"name":"groname","type":"name","description":"Name of the group","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grosysid","type":"oid","description":"ID of this group","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grolist","type":"oid[]","description":"An array containing the IDs of the roles in this group","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-group.html","source_path":"sources/postgresql/15/view-pg-group.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12010,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_group exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows the names and members of all roles that are marked as not rolcanlogin, which is an approximation to the set of roles that are being used as groups.","columns":[{"name":"groname","type":"name","description":"Name of the group","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grosysid","type":"oid","description":"ID of this group","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grolist","type":"oid[]","description":"An array containing the IDs of the roles in this group","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-group.html","source_path":"sources/postgresql/16/view-pg-group.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12010,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_group exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows the names and members of all roles that are marked as not rolcanlogin, which is an approximation to the set of roles that are being used as groups.","columns":[{"name":"groname","type":"name","description":"Name of the group","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grosysid","type":"oid","description":"ID of this group","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grolist","type":"oid[]","description":"An array containing the IDs of the roles in this group","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-group.html","source_path":"sources/postgresql/17/view-pg-group.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12010,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_group exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows the names and members of all roles that are marked as not rolcanlogin, which is an approximation to the set of roles that are being used as groups.","columns":[{"name":"groname","type":"name","description":"Name of the group","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grosysid","type":"oid","description":"ID of this group","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grolist","type":"oid[]","description":"An array containing the IDs of the roles in this group","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-group.html","source_path":"sources/postgresql/18/view-pg-group.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12010,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_group exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows the names and members of all roles that are marked as not rolcanlogin, which is an approximation to the set of roles that are being used as groups.","columns":[{"name":"groname","type":"name","description":"Name of the group","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grosysid","type":"oid","description":"ID of this group","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"grolist","type":"oid[]","description":"An array containing the IDs of the roles in this group","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-group.html","source_path":"sources/postgresql/19/view-pg-group.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12010,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[]},{"name":"pg_hba_file_rules","kind":"view","summary":"The view pg_hba_file_rules provides a summary of the contents of the client authentication configuration file, pg_hba.conf. A row appears in this view for each non-empty, non-comment line in the file, with annotations indicating whether the rule could be applied successfully.","first_version":"10","last_version":"19","versions":{"10":{"description":"The view pg_hba_file_rules provides a summary of the contents of the client authentication configuration file, pg_hba.conf. A row appears in this view for each non-empty, non-comment line in the file, with annotations indicating whether the rule could be applied successfully.\n\nThis view can be helpful for checking whether planned changes in the authentication configuration file will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the file, not on what was last loaded by the server.\n\nBy default, the pg_hba_file_rules view can be read only by superusers.","columns":[{"name":"line_number","type":"integer","description":"Line number of this rule in pg_hba.conf","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"Type of connection","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"text[]","description":"List of database name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"user_name","type":"text[]","description":"List of user and group name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"address","type":"text","description":"Host name or IP address, or one of all, samehost, or samenet, or null for local connections","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"netmask","type":"text","description":"IP address mask, or null if not applicable","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"auth_method","type":"text","description":"Authentication method","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"options","type":"text[]","description":"Options specified for authentication method, if any","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this line could not be processed","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-hba-file-rules.html","source_path":"sources/postgresql/10/view-pg-hba-file-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11608,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_hba_file_rules provides a summary of the contents of the client authentication configuration file, pg_hba.conf. A row appears in this view for each non-empty, non-comment line in the file, with annotations indicating whether the rule could be applied successfully.\n\nThis view can be helpful for checking whether planned changes in the authentication configuration file will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the file, not on what was last loaded by the server.\n\nBy default, the pg_hba_file_rules view can be read only by superusers.","columns":[{"name":"line_number","type":"integer","description":"Line number of this rule in pg_hba.conf","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"Type of connection","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"text[]","description":"List of database name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"user_name","type":"text[]","description":"List of user and group name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"address","type":"text","description":"Host name or IP address, or one of all, samehost, or samenet, or null for local connections","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"netmask","type":"text","description":"IP address mask, or null if not applicable","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"auth_method","type":"text","description":"Authentication method","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"options","type":"text[]","description":"Options specified for authentication method, if any","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this line could not be processed","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-hba-file-rules.html","source_path":"sources/postgresql/11/view-pg-hba-file-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11676,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_hba_file_rules provides a summary of the contents of the client authentication configuration file, pg_hba.conf. A row appears in this view for each non-empty, non-comment line in the file, with annotations indicating whether the rule could be applied successfully.\n\nThis view can be helpful for checking whether planned changes in the authentication configuration file will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the file, not on what was last loaded by the server.\n\nBy default, the pg_hba_file_rules view can be read only by superusers.","columns":[{"name":"line_number","type":"integer","description":"Line number of this rule in pg_hba.conf","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"Type of connection","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"text[]","description":"List of database name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"user_name","type":"text[]","description":"List of user and group name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"address","type":"text","description":"Host name or IP address, or one of all, samehost, or samenet, or null for local connections","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"netmask","type":"text","description":"IP address mask, or null if not applicable","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"auth_method","type":"text","description":"Authentication method","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"options","type":"text[]","description":"Options specified for authentication method, if any","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this line could not be processed","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-hba-file-rules.html","source_path":"sources/postgresql/12/view-pg-hba-file-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12174,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_hba_file_rules provides a summary of the contents of the client authentication configuration file, pg_hba.conf. A row appears in this view for each non-empty, non-comment line in the file, with annotations indicating whether the rule could be applied successfully.\n\nThis view can be helpful for checking whether planned changes in the authentication configuration file will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the file, not on what was last loaded by the server.\n\nBy default, the pg_hba_file_rules view can be read only by superusers.","columns":[{"name":"line_number","type":"integer","description":"Line number of this rule in pg_hba.conf","documented_type":"int4","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"Type of connection","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"text[]","description":"List of database name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"user_name","type":"text[]","description":"List of user and group name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"address","type":"text","description":"Host name or IP address, or one of all, samehost, or samenet, or null for local connections","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"netmask","type":"text","description":"IP address mask, or null if not applicable","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"auth_method","type":"text","description":"Authentication method","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"options","type":"text[]","description":"Options specified for authentication method, if any","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this line could not be processed","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-hba-file-rules.html","source_path":"sources/postgresql/13/view-pg-hba-file-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12173,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_hba_file_rules provides a summary of the contents of the client authentication configuration file, pg_hba.conf. A row appears in this view for each non-empty, non-comment line in the file, with annotations indicating whether the rule could be applied successfully.\n\nThis view can be helpful for checking whether planned changes in the authentication configuration file will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the file, not on what was last loaded by the server.\n\nBy default, the pg_hba_file_rules view can be read only by superusers.","columns":[{"name":"line_number","type":"integer","description":"Line number of this rule in pg_hba.conf","documented_type":"int4","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"Type of connection","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"text[]","description":"List of database name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"user_name","type":"text[]","description":"List of user and group name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"address","type":"text","description":"Host name or IP address, or one of all, samehost, or samenet, or null for local connections","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"netmask","type":"text","description":"IP address mask, or null if not applicable","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"auth_method","type":"text","description":"Authentication method","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"options","type":"text[]","description":"Options specified for authentication method, if any","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this line could not be processed","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-hba-file-rules.html","source_path":"sources/postgresql/14/view-pg-hba-file-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12331,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_hba_file_rules provides a summary of the contents of the client authentication configuration file, pg_hba.conf. A row appears in this view for each non-empty, non-comment line in the file, with annotations indicating whether the rule could be applied successfully.\n\nThis view can be helpful for checking whether planned changes in the authentication configuration file will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the file, not on what was last loaded by the server.\n\nBy default, the pg_hba_file_rules view can be read only by superusers.","columns":[{"name":"line_number","type":"integer","description":"Line number of this rule in pg_hba.conf","documented_type":"int4","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"Type of connection","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"text[]","description":"List of database name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"user_name","type":"text[]","description":"List of user and group name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"address","type":"text","description":"Host name or IP address, or one of all, samehost, or samenet, or null for local connections","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"netmask","type":"text","description":"IP address mask, or null if not applicable","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"auth_method","type":"text","description":"Authentication method","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"options","type":"text[]","description":"Options specified for authentication method, if any","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this line could not be processed","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-hba-file-rules.html","source_path":"sources/postgresql/15/view-pg-hba-file-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12114,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_hba_file_rules provides a summary of the contents of the client authentication configuration file, pg_hba.conf. A row appears in this view for each non-empty, non-comment line in the file, with annotations indicating whether the rule could be applied successfully.\n\nThis view can be helpful for checking whether planned changes in the authentication configuration file will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the file, not on what was last loaded by the server.\n\nBy default, the pg_hba_file_rules view can be read only by superusers.","columns":[{"name":"rule_number","type":"integer","description":"Number of this rule, if valid, otherwise NULL. This indicates the order in which each rule is considered until a match is found during authentication.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"file_name","type":"text","description":"Name of the file containing this rule","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"line_number","type":"integer","description":"Line number of this rule in file_name","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"Type of connection","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"text[]","description":"List of database name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"user_name","type":"text[]","description":"List of user and group name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"address","type":"text","description":"Host name or IP address, or one of all, samehost, or samenet, or null for local connections","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"netmask","type":"text","description":"IP address mask, or null if not applicable","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"auth_method","type":"text","description":"Authentication method","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"options","type":"text[]","description":"Options specified for authentication method, if any","hidden":false,"type_oid":1009,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this line could not be processed","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-hba-file-rules.html","source_path":"sources/postgresql/16/view-pg-hba-file-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12114,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_hba_file_rules provides a summary of the contents of the client authentication configuration file, pg_hba.conf. A row appears in this view for each non-empty, non-comment line in the file, with annotations indicating whether the rule could be applied successfully.\n\nThis view can be helpful for checking whether planned changes in the authentication configuration file will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the file, not on what was last loaded by the server.\n\nBy default, the pg_hba_file_rules view can be read only by superusers.","columns":[{"name":"rule_number","type":"integer","description":"Number of this rule, if valid, otherwise NULL. This indicates the order in which each rule is considered until a match is found during authentication.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"file_name","type":"text","description":"Name of the file containing this rule","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"line_number","type":"integer","description":"Line number of this rule in file_name","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"Type of connection","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"text[]","description":"List of database name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"user_name","type":"text[]","description":"List of user and group name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"address","type":"text","description":"Host name or IP address, or one of all, samehost, or samenet, or null for local connections","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"netmask","type":"text","description":"IP address mask, or null if not applicable","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"auth_method","type":"text","description":"Authentication method","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"options","type":"text[]","description":"Options specified for authentication method, if any","hidden":false,"type_oid":1009,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this line could not be processed","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-hba-file-rules.html","source_path":"sources/postgresql/17/view-pg-hba-file-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12114,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_hba_file_rules provides a summary of the contents of the client authentication configuration file, pg_hba.conf. A row appears in this view for each non-empty, non-comment line in the file, with annotations indicating whether the rule could be applied successfully.\n\nThis view can be helpful for checking whether planned changes in the authentication configuration file will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the file, not on what was last loaded by the server.\n\nBy default, the pg_hba_file_rules view can be read only by superusers.","columns":[{"name":"rule_number","type":"integer","description":"Number of this rule, if valid, otherwise NULL. This indicates the order in which each rule is considered until a match is found during authentication.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"file_name","type":"text","description":"Name of the file containing this rule","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"line_number","type":"integer","description":"Line number of this rule in file_name","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"Type of connection","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"text[]","description":"List of database name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"user_name","type":"text[]","description":"List of user and group name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"address","type":"text","description":"Host name or IP address, or one of all, samehost, or samenet, or null for local connections","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"netmask","type":"text","description":"IP address mask, or null if not applicable","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"auth_method","type":"text","description":"Authentication method","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"options","type":"text[]","description":"Options specified for authentication method, if any","hidden":false,"type_oid":1009,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this line could not be processed","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-hba-file-rules.html","source_path":"sources/postgresql/18/view-pg-hba-file-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12114,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_hba_file_rules provides a summary of the contents of the client authentication configuration file, pg_hba.conf. A row appears in this view for each non-empty, non-comment line in the file, with annotations indicating whether the rule could be applied successfully.\n\nThis view can be helpful for checking whether planned changes in the authentication configuration file will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the file, not on what was last loaded by the server.\n\nBy default, the pg_hba_file_rules view can be read only by superusers.","columns":[{"name":"rule_number","type":"integer","description":"Number of this rule, if valid, otherwise NULL. This indicates the order in which each rule is considered until a match is found during authentication.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"file_name","type":"text","description":"Name of the file containing this rule","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"line_number","type":"integer","description":"Line number of this rule in file_name","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"Type of connection","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"text[]","description":"List of database name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"user_name","type":"text[]","description":"List of user and group name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"address","type":"text","description":"Host name or IP address, or one of all, samehost, or samenet, or null for local connections","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"netmask","type":"text","description":"IP address mask, or null if not applicable","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"auth_method","type":"text","description":"Authentication method","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"options","type":"text[]","description":"Options specified for authentication method, if any","hidden":false,"type_oid":1009,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this line could not be processed","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-hba-file-rules.html","source_path":"sources/postgresql/19/view-pg-hba-file-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12119,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.6","to":"10","status":"added","added_columns":[{"name":"line_number","type":"integer","description":"Line number of this rule in pg_hba.conf","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"Type of connection","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"text[]","description":"List of database name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"user_name","type":"text[]","description":"List of user and group name(s) to which this rule applies","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"address","type":"text","description":"Host name or IP address, or one of all, samehost, or samenet, or null for local connections","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"netmask","type":"text","description":"IP address mask, or null if not applicable","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"auth_method","type":"text","description":"Authentication method","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"options","type":"text[]","description":"Options specified for authentication method, if any","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not null, an error message indicating why this line could not be processed","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"15","to":"16","status":"changed","added_columns":[{"name":"rule_number","type":"integer","description":"Number of this rule, if valid, otherwise NULL. This indicates the order in which each rule is considered until a match is found during authentication.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"file_name","type":"text","description":"Name of the file containing this rule","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"line_number","from":"Line number of this rule in pg_hba.conf","to":"Line number of this rule in file_name"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_ident_file_mappings","kind":"view","summary":"The view pg_ident_file_mappings provides a summary of the contents of the client user name mapping configuration file, pg_ident.conf. A row appears in this view for each non-empty, non-comment line in the file, with annotations indicating whether the map could be applied successfully.","first_version":"15","last_version":"19","versions":{"15":{"description":"The view pg_ident_file_mappings provides a summary of the contents of the client user name mapping configuration file, pg_ident.conf. A row appears in this view for each non-empty, non-comment line in the file, with annotations indicating whether the map could be applied successfully.\n\nThis view can be helpful for checking whether planned changes in the authentication configuration file will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the file, not on what was last loaded by the server.\n\nBy default, the pg_ident_file_mappings view can be read only by superusers.","columns":[{"name":"line_number","type":"integer","description":"Line number of this map in pg_ident.conf","documented_type":"int4","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"map_name","type":"text","description":"Name of the map","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sys_name","type":"text","description":"Detected user name of the client","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pg_username","type":"text","description":"Requested PostgreSQL user name","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not NULL, an error message indicating why this line could not be processed","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-ident-file-mappings.html","source_path":"sources/postgresql/15/view-pg-ident-file-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12118,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_ident_file_mappings provides a summary of the contents of the client user name mapping configuration file, pg_ident.conf. A row appears in this view for each non-empty, non-comment line in the file, with annotations indicating whether the map could be applied successfully.\n\nThis view can be helpful for checking whether planned changes in the authentication configuration file will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the file, not on what was last loaded by the server.\n\nBy default, the pg_ident_file_mappings view can be read only by superusers.","columns":[{"name":"map_number","type":"integer","description":"Number of this map, in priority order, if valid, otherwise NULL","documented_type":"int4","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"file_name","type":"text","description":"Name of the file containing this map","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"line_number","type":"integer","description":"Line number of this map in file_name","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"map_name","type":"text","description":"Name of the map","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sys_name","type":"text","description":"Detected user name of the client","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pg_username","type":"text","description":"Requested PostgreSQL user name","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not NULL, an error message indicating why this line could not be processed","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-ident-file-mappings.html","source_path":"sources/postgresql/16/view-pg-ident-file-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12118,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_ident_file_mappings provides a summary of the contents of the client user name mapping configuration file, pg_ident.conf. A row appears in this view for each non-empty, non-comment line in the file, with annotations indicating whether the map could be applied successfully.\n\nThis view can be helpful for checking whether planned changes in the authentication configuration file will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the file, not on what was last loaded by the server.\n\nBy default, the pg_ident_file_mappings view can be read only by superusers.","columns":[{"name":"map_number","type":"integer","description":"Number of this map, in priority order, if valid, otherwise NULL","documented_type":"int4","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"file_name","type":"text","description":"Name of the file containing this map","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"line_number","type":"integer","description":"Line number of this map in file_name","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"map_name","type":"text","description":"Name of the map","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sys_name","type":"text","description":"Detected user name of the client","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pg_username","type":"text","description":"Requested PostgreSQL user name","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not NULL, an error message indicating why this line could not be processed","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-ident-file-mappings.html","source_path":"sources/postgresql/17/view-pg-ident-file-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12118,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_ident_file_mappings provides a summary of the contents of the client user name mapping configuration file, pg_ident.conf. A row appears in this view for each non-empty, non-comment line in the file, with annotations indicating whether the map could be applied successfully.\n\nThis view can be helpful for checking whether planned changes in the authentication configuration file will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the file, not on what was last loaded by the server.\n\nBy default, the pg_ident_file_mappings view can be read only by superusers.","columns":[{"name":"map_number","type":"integer","description":"Number of this map, in priority order, if valid, otherwise NULL","documented_type":"int4","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"file_name","type":"text","description":"Name of the file containing this map","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"line_number","type":"integer","description":"Line number of this map in file_name","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"map_name","type":"text","description":"Name of the map","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sys_name","type":"text","description":"Detected user name of the client","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pg_username","type":"text","description":"Requested PostgreSQL user name","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not NULL, an error message indicating why this line could not be processed","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-ident-file-mappings.html","source_path":"sources/postgresql/18/view-pg-ident-file-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12118,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_ident_file_mappings provides a summary of the contents of the client user name mapping configuration file, pg_ident.conf. A row appears in this view for each non-empty, non-comment line in the file, with annotations indicating whether the map could be applied successfully.\n\nThis view can be helpful for checking whether planned changes in the authentication configuration file will work, or for diagnosing a previous failure. Note that this view reports on the current contents of the file, not on what was last loaded by the server.\n\nBy default, the pg_ident_file_mappings view can be read only by superusers.","columns":[{"name":"map_number","type":"integer","description":"Number of this map, in priority order, if valid, otherwise NULL","documented_type":"int4","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"file_name","type":"text","description":"Name of the file containing this map","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"line_number","type":"integer","description":"Line number of this map in file_name","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"map_name","type":"text","description":"Name of the map","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sys_name","type":"text","description":"Detected user name of the client","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pg_username","type":"text","description":"Requested PostgreSQL user name","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not NULL, an error message indicating why this line could not be processed","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-ident-file-mappings.html","source_path":"sources/postgresql/19/view-pg-ident-file-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12123,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"14","to":"15","status":"added","added_columns":[{"name":"line_number","type":"integer","description":"Line number of this map in pg_ident.conf","documented_type":"int4","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"map_name","type":"text","description":"Name of the map","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sys_name","type":"text","description":"Detected user name of the client","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pg_username","type":"text","description":"Requested PostgreSQL user name","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"error","type":"text","description":"If not NULL, an error message indicating why this line could not be processed","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"15","to":"16","status":"changed","added_columns":[{"name":"map_number","type":"integer","description":"Number of this map, in priority order, if valid, otherwise NULL","documented_type":"int4","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"file_name","type":"text","description":"Name of the file containing this map","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"line_number","from":"Line number of this map in pg_ident.conf","to":"Line number of this map in file_name"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_index","kind":"catalog","summary":"additional index information","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_index contains part of the information about indexes. The rest is mostly in pg_class.","columns":[{"name":"indexrelid","type":"oid","description":"The OID of the pg_class entry for this index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indrelid","type":"oid","description":"The OID of the pg_class entry for the table this index is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnatts","type":"smallint","description":"The number of columns in the index (duplicates pg_class.relnatts)","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisunique","type":"boolean","description":"If true, this is a unique index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisprimary","type":"boolean","description":"If true, this index represents the primary key of the table (indisunique should always be true when this is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indimmediate","type":"boolean","description":"If true, the uniqueness check is enforced immediately on insertion (indisunique should always be true when this is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisclustered","type":"boolean","description":"If true, the table was last clustered on this index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisvalid","type":"boolean","description":"If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not true either.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indcheckxmin","type":"boolean","description":"If true, queries must not use the index until the xmin of this pg_index row is below their TransactionXmin event horizon, because the table may contain broken HOT chains with incompatible rows that they can see","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisready","type":"boolean","description":"If true, the index is currently ready for inserts. False means the index must be ignored by INSERT/UPDATE operations.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indkey","type":"int2vector","description":"This is an array of indnatts values that indicate which table columns this index indexes. For example a value of 1 3 would mean that the first and the third table columns make up the index key. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":11,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indclass","type":"oidvector","description":"For each column in the index key, this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":12,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indoption","type":"int2vector","description":"This is an array of indnatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method.","hidden":false,"type_oid":22,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indexprs","type":"text","description":"Expression trees (in nodeToString() representation) for index attributes that are not simple column references. This is a list with one element for each zero entry in indkey. Null if all index attributes are simple references.","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indpred","type":"text","description":"Expression tree (in nodeToString() representation) for partial index predicate. Null if not a partial index.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-index.html","source_path":"sources/postgresql/9.0/catalog-pg-index.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_index.h","definition_source_path":"sources/postgresql/9.0/source/pg_index.h","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":2610,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_index contains part of the information about indexes. The rest is mostly in pg_class.","columns":[{"name":"indexrelid","type":"oid","description":"The OID of the pg_class entry for this index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indrelid","type":"oid","description":"The OID of the pg_class entry for the table this index is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnatts","type":"smallint","description":"The number of columns in the index (duplicates pg_class.relnatts)","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisunique","type":"boolean","description":"If true, this is a unique index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisprimary","type":"boolean","description":"If true, this index represents the primary key of the table (indisunique should always be true when this is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisexclusion","type":"boolean","description":"If true, this index supports an exclusion constraint","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indimmediate","type":"boolean","description":"If true, the uniqueness check is enforced immediately on insertion (irrelevant if indisunique is not true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisclustered","type":"boolean","description":"If true, the table was last clustered on this index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisvalid","type":"boolean","description":"If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not true either.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indcheckxmin","type":"boolean","description":"If true, queries must not use the index until the xmin of this pg_index row is below their TransactionXmin event horizon, because the table may contain broken HOT chains with incompatible rows that they can see","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisready","type":"boolean","description":"If true, the index is currently ready for inserts. False means the index must be ignored by INSERT/UPDATE operations.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indkey","type":"int2vector","description":"This is an array of indnatts values that indicate which table columns this index indexes. For example a value of 1 3 would mean that the first and the third table columns make up the index key. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":12,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indcollation","type":"oidvector","description":"For each column in the index key, this contains the OID of the collation to use for the index.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indclass","type":"oidvector","description":"For each column in the index key, this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":14,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indoption","type":"int2vector","description":"This is an array of indnatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method.","hidden":false,"type_oid":22,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for index attributes that are not simple column references. This is a list with one element for each zero entry in indkey. Null if all index attributes are simple references.","hidden":false,"type_oid":194,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indpred","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for partial index predicate. Null if not a partial index.","hidden":false,"type_oid":194,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-index.html","source_path":"sources/postgresql/9.1/catalog-pg-index.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_index.h","definition_source_path":"sources/postgresql/9.1/source/pg_index.h","source_column_count":17,"documentary_schema_source":"documentation","relation_oid":2610,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_index contains part of the information about indexes. The rest is mostly in pg_class.","columns":[{"name":"indexrelid","type":"oid","description":"The OID of the pg_class entry for this index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indrelid","type":"oid","description":"The OID of the pg_class entry for the table this index is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnatts","type":"smallint","description":"The number of columns in the index (duplicates pg_class.relnatts)","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisunique","type":"boolean","description":"If true, this is a unique index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisprimary","type":"boolean","description":"If true, this index represents the primary key of the table (indisunique should always be true when this is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisexclusion","type":"boolean","description":"If true, this index supports an exclusion constraint","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indimmediate","type":"boolean","description":"If true, the uniqueness check is enforced immediately on insertion (irrelevant if indisunique is not true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisclustered","type":"boolean","description":"If true, the table was last clustered on this index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisvalid","type":"boolean","description":"If both this flag and indisready are true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not guaranteed true either.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indcheckxmin","type":"boolean","description":"If true, queries must not use the index until the xmin of this pg_index row is below their TransactionXmin event horizon, because the table may contain broken HOT chains with incompatible rows that they can see","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisready","type":"boolean","description":"If true, the index is currently ready for inserts. False means the index must be ignored by INSERT/UPDATE operations.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indkey","type":"int2vector","description":"This is an array of indnatts values that indicate which table columns this index indexes. For example a value of 1 3 would mean that the first and the third table columns make up the index key. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":12,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indcollation","type":"oidvector","description":"For each column in the index key, this contains the OID of the collation to use for the index.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indclass","type":"oidvector","description":"For each column in the index key, this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":14,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indoption","type":"int2vector","description":"This is an array of indnatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method.","hidden":false,"type_oid":22,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for index attributes that are not simple column references. This is a list with one element for each zero entry in indkey. Null if all index attributes are simple references.","hidden":false,"type_oid":194,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indpred","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for partial index predicate. Null if not a partial index.","hidden":false,"type_oid":194,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-index.html","source_path":"sources/postgresql/9.2/catalog-pg-index.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_index.h","definition_source_path":"sources/postgresql/9.2/source/pg_index.h","source_column_count":17,"documentary_schema_source":"documentation","relation_oid":2610,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_index contains part of the information about indexes. The rest is mostly in pg_class.","columns":[{"name":"indexrelid","type":"oid","description":"The OID of the pg_class entry for this index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indrelid","type":"oid","description":"The OID of the pg_class entry for the table this index is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnatts","type":"smallint","description":"The number of columns in the index (duplicates pg_class.relnatts)","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisunique","type":"boolean","description":"If true, this is a unique index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisprimary","type":"boolean","description":"If true, this index represents the primary key of the table (indisunique should always be true when this is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisexclusion","type":"boolean","description":"If true, this index supports an exclusion constraint","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indimmediate","type":"boolean","description":"If true, the uniqueness check is enforced immediately on insertion (irrelevant if indisunique is not true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisclustered","type":"boolean","description":"If true, the table was last clustered on this index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisvalid","type":"boolean","description":"If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not guaranteed true either.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indcheckxmin","type":"boolean","description":"If true, queries must not use the index until the xmin of this pg_index row is below their TransactionXmin event horizon, because the table may contain broken HOT chains with incompatible rows that they can see","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisready","type":"boolean","description":"If true, the index is currently ready for inserts. False means the index must be ignored by INSERT/UPDATE operations.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indislive","type":"boolean","description":"If false, the index is in process of being dropped, and should be ignored for all purposes (including HOT-safety decisions)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indkey","type":"int2vector","description":"This is an array of indnatts values that indicate which table columns this index indexes. For example a value of 1 3 would mean that the first and the third table columns make up the index key. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indcollation","type":"oidvector","description":"For each column in the index key, this contains the OID of the collation to use for the index.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":14,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indclass","type":"oidvector","description":"For each column in the index key, this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indoption","type":"int2vector","description":"This is an array of indnatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method.","hidden":false,"type_oid":22,"attnum":16,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for index attributes that are not simple column references. This is a list with one element for each zero entry in indkey. Null if all index attributes are simple references.","hidden":false,"type_oid":194,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indpred","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for partial index predicate. Null if not a partial index.","hidden":false,"type_oid":194,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-index.html","source_path":"sources/postgresql/9.3/catalog-pg-index.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_index.h","definition_source_path":"sources/postgresql/9.3/source/pg_index.h","source_column_count":18,"documentary_schema_source":"documentation","relation_oid":2610,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_index contains part of the information about indexes. The rest is mostly in pg_class.","columns":[{"name":"indexrelid","type":"oid","description":"The OID of the pg_class entry for this index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indrelid","type":"oid","description":"The OID of the pg_class entry for the table this index is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnatts","type":"smallint","description":"The number of columns in the index (duplicates pg_class.relnatts)","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisunique","type":"boolean","description":"If true, this is a unique index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisprimary","type":"boolean","description":"If true, this index represents the primary key of the table (indisunique should always be true when this is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisexclusion","type":"boolean","description":"If true, this index supports an exclusion constraint","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indimmediate","type":"boolean","description":"If true, the uniqueness check is enforced immediately on insertion (irrelevant if indisunique is not true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisclustered","type":"boolean","description":"If true, the table was last clustered on this index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisvalid","type":"boolean","description":"If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not guaranteed true either.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indcheckxmin","type":"boolean","description":"If true, queries must not use the index until the xmin of this pg_index row is below their TransactionXmin event horizon, because the table may contain broken HOT chains with incompatible rows that they can see","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisready","type":"boolean","description":"If true, the index is currently ready for inserts. False means the index must be ignored by INSERT/UPDATE operations.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indislive","type":"boolean","description":"If false, the index is in process of being dropped, and should be ignored for all purposes (including HOT-safety decisions)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisreplident","type":"boolean","description":"If true this index has been chosen as \"replica identity\" using ALTER TABLE ... REPLICA IDENTITY USING INDEX ...","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indkey","type":"int2vector","description":"This is an array of indnatts values that indicate which table columns this index indexes. For example a value of 1 3 would mean that the first and the third table columns make up the index key. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":14,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indcollation","type":"oidvector","description":"For each column in the index key, this contains the OID of the collation to use for the index.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indclass","type":"oidvector","description":"For each column in the index key, this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":16,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indoption","type":"int2vector","description":"This is an array of indnatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method.","hidden":false,"type_oid":22,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for index attributes that are not simple column references. This is a list with one element for each zero entry in indkey. Null if all index attributes are simple references.","hidden":false,"type_oid":194,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indpred","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for partial index predicate. Null if not a partial index.","hidden":false,"type_oid":194,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-index.html","source_path":"sources/postgresql/9.4/catalog-pg-index.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_index.h","definition_source_path":"sources/postgresql/9.4/source/pg_index.h","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":2610,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_index contains part of the information about indexes. The rest is mostly in pg_class.","columns":[{"name":"indexrelid","type":"oid","description":"The OID of the pg_class entry for this index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indrelid","type":"oid","description":"The OID of the pg_class entry for the table this index is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnatts","type":"smallint","description":"The number of columns in the index (duplicates pg_class.relnatts)","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisunique","type":"boolean","description":"If true, this is a unique index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisprimary","type":"boolean","description":"If true, this index represents the primary key of the table (indisunique should always be true when this is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisexclusion","type":"boolean","description":"If true, this index supports an exclusion constraint","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indimmediate","type":"boolean","description":"If true, the uniqueness check is enforced immediately on insertion (irrelevant if indisunique is not true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisclustered","type":"boolean","description":"If true, the table was last clustered on this index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisvalid","type":"boolean","description":"If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not guaranteed true either.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indcheckxmin","type":"boolean","description":"If true, queries must not use the index until the xmin of this pg_index row is below their TransactionXmin event horizon, because the table may contain broken HOT chains with incompatible rows that they can see","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisready","type":"boolean","description":"If true, the index is currently ready for inserts. False means the index must be ignored by INSERT/UPDATE operations.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indislive","type":"boolean","description":"If false, the index is in process of being dropped, and should be ignored for all purposes (including HOT-safety decisions)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisreplident","type":"boolean","description":"If true this index has been chosen as \"replica identity\" using ALTER TABLE ... REPLICA IDENTITY USING INDEX ...","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indkey","type":"int2vector","description":"This is an array of indnatts values that indicate which table columns this index indexes. For example a value of 1 3 would mean that the first and the third table columns make up the index key. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":14,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indcollation","type":"oidvector","description":"For each column in the index key, this contains the OID of the collation to use for the index.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indclass","type":"oidvector","description":"For each column in the index key, this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":16,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indoption","type":"int2vector","description":"This is an array of indnatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method.","hidden":false,"type_oid":22,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for index attributes that are not simple column references. This is a list with one element for each zero entry in indkey. Null if all index attributes are simple references.","hidden":false,"type_oid":194,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indpred","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for partial index predicate. Null if not a partial index.","hidden":false,"type_oid":194,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-index.html","source_path":"sources/postgresql/9.5/catalog-pg-index.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_index.h","definition_source_path":"sources/postgresql/9.5/source/pg_index.h","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":2610,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_index contains part of the information about indexes. The rest is mostly in pg_class.","columns":[{"name":"indexrelid","type":"oid","description":"The OID of the pg_class entry for this index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indrelid","type":"oid","description":"The OID of the pg_class entry for the table this index is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnatts","type":"smallint","description":"The number of columns in the index (duplicates pg_class.relnatts)","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisunique","type":"boolean","description":"If true, this is a unique index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisprimary","type":"boolean","description":"If true, this index represents the primary key of the table (indisunique should always be true when this is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisexclusion","type":"boolean","description":"If true, this index supports an exclusion constraint","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indimmediate","type":"boolean","description":"If true, the uniqueness check is enforced immediately on insertion (irrelevant if indisunique is not true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisclustered","type":"boolean","description":"If true, the table was last clustered on this index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisvalid","type":"boolean","description":"If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not guaranteed true either.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indcheckxmin","type":"boolean","description":"If true, queries must not use the index until the xmin of this pg_index row is below their TransactionXmin event horizon, because the table may contain broken HOT chains with incompatible rows that they can see","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisready","type":"boolean","description":"If true, the index is currently ready for inserts. False means the index must be ignored by INSERT/UPDATE operations.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indislive","type":"boolean","description":"If false, the index is in process of being dropped, and should be ignored for all purposes (including HOT-safety decisions)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisreplident","type":"boolean","description":"If true this index has been chosen as \"replica identity\" using ALTER TABLE ... REPLICA IDENTITY USING INDEX ...","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indkey","type":"int2vector","description":"This is an array of indnatts values that indicate which table columns this index indexes. For example a value of 1 3 would mean that the first and the third table columns make up the index key. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":14,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indcollation","type":"oidvector","description":"For each column in the index key, this contains the OID of the collation to use for the index.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indclass","type":"oidvector","description":"For each column in the index key, this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":16,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indoption","type":"int2vector","description":"This is an array of indnatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method.","hidden":false,"type_oid":22,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for index attributes that are not simple column references. This is a list with one element for each zero entry in indkey. Null if all index attributes are simple references.","hidden":false,"type_oid":194,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indpred","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for partial index predicate. Null if not a partial index.","hidden":false,"type_oid":194,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-index.html","source_path":"sources/postgresql/9.6/catalog-pg-index.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_index.h","definition_source_path":"sources/postgresql/9.6/source/pg_index.h","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":2610,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_index contains part of the information about indexes. The rest is mostly in pg_class.","columns":[{"name":"indexrelid","type":"oid","description":"The OID of the pg_class entry for this index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indrelid","type":"oid","description":"The OID of the pg_class entry for the table this index is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnatts","type":"smallint","description":"The number of columns in the index (duplicates pg_class.relnatts)","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisunique","type":"boolean","description":"If true, this is a unique index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisprimary","type":"boolean","description":"If true, this index represents the primary key of the table (indisunique should always be true when this is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisexclusion","type":"boolean","description":"If true, this index supports an exclusion constraint","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indimmediate","type":"boolean","description":"If true, the uniqueness check is enforced immediately on insertion (irrelevant if indisunique is not true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisclustered","type":"boolean","description":"If true, the table was last clustered on this index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisvalid","type":"boolean","description":"If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not guaranteed true either.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indcheckxmin","type":"boolean","description":"If true, queries must not use the index until the xmin of this pg_index row is below their TransactionXmin event horizon, because the table may contain broken HOT chains with incompatible rows that they can see","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisready","type":"boolean","description":"If true, the index is currently ready for inserts. False means the index must be ignored by INSERT/UPDATE operations.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indislive","type":"boolean","description":"If false, the index is in process of being dropped, and should be ignored for all purposes (including HOT-safety decisions)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisreplident","type":"boolean","description":"If true this index has been chosen as “replica identity” using ALTER TABLE ... REPLICA IDENTITY USING INDEX ...","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indkey","type":"int2vector","description":"This is an array of indnatts values that indicate which table columns this index indexes. For example a value of 1 3 would mean that the first and the third table columns make up the index key. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":14,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indcollation","type":"oidvector","description":"For each column in the index key, this contains the OID of the collation to use for the index, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indclass","type":"oidvector","description":"For each column in the index key, this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":16,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indoption","type":"int2vector","description":"This is an array of indnatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method.","hidden":false,"type_oid":22,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for index attributes that are not simple column references. This is a list with one element for each zero entry in indkey. Null if all index attributes are simple references.","hidden":false,"type_oid":194,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indpred","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for partial index predicate. Null if not a partial index.","hidden":false,"type_oid":194,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-index.html","source_path":"sources/postgresql/10/catalog-pg-index.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_index.h","definition_source_path":"sources/postgresql/10/source/pg_index.h","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":2610,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_index contains part of the information about indexes. The rest is mostly in pg_class.","columns":[{"name":"indexrelid","type":"oid","description":"The OID of the pg_class entry for this index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indrelid","type":"oid","description":"The OID of the pg_class entry for the table this index is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnatts","type":"smallint","description":"The total number of columns in the index (duplicates pg_class.relnatts); this number includes both key and included attributes","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnkeyatts","type":"smallint","description":"The number of key columns in the index, not counting any included columns, which are merely stored and do not participate in the index semantics","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisunique","type":"boolean","description":"If true, this is a unique index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisprimary","type":"boolean","description":"If true, this index represents the primary key of the table (indisunique should always be true when this is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisexclusion","type":"boolean","description":"If true, this index supports an exclusion constraint","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indimmediate","type":"boolean","description":"If true, the uniqueness check is enforced immediately on insertion (irrelevant if indisunique is not true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisclustered","type":"boolean","description":"If true, the table was last clustered on this index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisvalid","type":"boolean","description":"If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not guaranteed true either.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indcheckxmin","type":"boolean","description":"If true, queries must not use the index until the xmin of this pg_index row is below their TransactionXmin event horizon, because the table may contain broken HOT chains with incompatible rows that they can see","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisready","type":"boolean","description":"If true, the index is currently ready for inserts. False means the index must be ignored by INSERT/UPDATE operations.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indislive","type":"boolean","description":"If false, the index is in process of being dropped, and should be ignored for all purposes (including HOT-safety decisions)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisreplident","type":"boolean","description":"If true this index has been chosen as “replica identity” using ALTER TABLE ... REPLICA IDENTITY USING INDEX ...","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indkey","type":"int2vector","description":"This is an array of indnatts values that indicate which table columns this index indexes. For example a value of 1 3 would mean that the first and the third table columns make up the index entries. Key columns come before non-key (included) columns. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indcollation","type":"oidvector","description":"For each column in the index key (indnkeyatts values), this contains the OID of the collation to use for the index, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":16,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indclass","type":"oidvector","description":"For each column in the index key (indnkeyatts values), this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indoption","type":"int2vector","description":"This is an array of indnkeyatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method.","hidden":false,"type_oid":22,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for index attributes that are not simple column references. This is a list with one element for each zero entry in indkey. Null if all index attributes are simple references.","hidden":false,"type_oid":194,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indpred","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for partial index predicate. Null if not a partial index.","hidden":false,"type_oid":194,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-index.html","source_path":"sources/postgresql/11/catalog-pg-index.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_index.h","definition_source_path":"sources/postgresql/11/source/pg_index.h","source_column_count":20,"documentary_schema_source":"documentation","relation_oid":2610,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_index contains part of the information about indexes. The rest is mostly in pg_class.","columns":[{"name":"indexrelid","type":"oid","description":"The OID of the pg_class entry for this index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indrelid","type":"oid","description":"The OID of the pg_class entry for the table this index is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnatts","type":"smallint","description":"The total number of columns in the index (duplicates pg_class.relnatts); this number includes both key and included attributes","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnkeyatts","type":"smallint","description":"The number of key columns in the index, not counting any included columns, which are merely stored and do not participate in the index semantics","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisunique","type":"boolean","description":"If true, this is a unique index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisprimary","type":"boolean","description":"If true, this index represents the primary key of the table (indisunique should always be true when this is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisexclusion","type":"boolean","description":"If true, this index supports an exclusion constraint","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indimmediate","type":"boolean","description":"If true, the uniqueness check is enforced immediately on insertion (irrelevant if indisunique is not true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisclustered","type":"boolean","description":"If true, the table was last clustered on this index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisvalid","type":"boolean","description":"If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not guaranteed true either.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indcheckxmin","type":"boolean","description":"If true, queries must not use the index until the xmin of this pg_index row is below their TransactionXmin event horizon, because the table may contain broken HOT chains with incompatible rows that they can see","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisready","type":"boolean","description":"If true, the index is currently ready for inserts. False means the index must be ignored by INSERT/UPDATE operations.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indislive","type":"boolean","description":"If false, the index is in process of being dropped, and should be ignored for all purposes (including HOT-safety decisions)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisreplident","type":"boolean","description":"If true this index has been chosen as “replica identity” using ALTER TABLE ... REPLICA IDENTITY USING INDEX ...","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indkey","type":"int2vector","description":"This is an array of indnatts values that indicate which table columns this index indexes. For example a value of 1 3 would mean that the first and the third table columns make up the index entries. Key columns come before non-key (included) columns. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indcollation","type":"oidvector","description":"For each column in the index key (indnkeyatts values), this contains the OID of the collation to use for the index, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":16,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indclass","type":"oidvector","description":"For each column in the index key (indnkeyatts values), this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indoption","type":"int2vector","description":"This is an array of indnkeyatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method.","hidden":false,"type_oid":22,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for index attributes that are not simple column references. This is a list with one element for each zero entry in indkey. Null if all index attributes are simple references.","hidden":false,"type_oid":194,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indpred","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for partial index predicate. Null if not a partial index.","hidden":false,"type_oid":194,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-index.html","source_path":"sources/postgresql/12/catalog-pg-index.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_index.h","definition_source_path":"sources/postgresql/12/source/pg_index.h","source_column_count":20,"documentary_schema_source":"documentation","relation_oid":2610,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_index contains part of the information about indexes. The rest is mostly in pg_class.","columns":[{"name":"indexrelid","type":"oid","description":"The OID of the pg_class entry for this index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indrelid","type":"oid","description":"The OID of the pg_class entry for the table this index is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnatts","type":"smallint","description":"The total number of columns in the index (duplicates pg_class.relnatts); this number includes both key and included attributes","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnkeyatts","type":"smallint","description":"The number of key columns in the index, not counting any included columns, which are merely stored and do not participate in the index semantics","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisunique","type":"boolean","description":"If true, this is a unique index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisprimary","type":"boolean","description":"If true, this index represents the primary key of the table (indisunique should always be true when this is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisexclusion","type":"boolean","description":"If true, this index supports an exclusion constraint","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indimmediate","type":"boolean","description":"If true, the uniqueness check is enforced immediately on insertion (irrelevant if indisunique is not true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisclustered","type":"boolean","description":"If true, the table was last clustered on this index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisvalid","type":"boolean","description":"If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not guaranteed true either.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indcheckxmin","type":"boolean","description":"If true, queries must not use the index until the xmin of this pg_index row is below their TransactionXmin event horizon, because the table may contain broken HOT chains with incompatible rows that they can see","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisready","type":"boolean","description":"If true, the index is currently ready for inserts. False means the index must be ignored by INSERT/UPDATE operations.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indislive","type":"boolean","description":"If false, the index is in process of being dropped, and should be ignored for all purposes (including HOT-safety decisions)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisreplident","type":"boolean","description":"If true this index has been chosen as “replica identity” using ALTER TABLE ... REPLICA IDENTITY USING INDEX ...","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indkey","type":"int2vector","description":"This is an array of indnatts values that indicate which table columns this index indexes. For example a value of 1 3 would mean that the first and the third table columns make up the index entries. Key columns come before non-key (included) columns. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indcollation","type":"oidvector","description":"For each column in the index key (indnkeyatts values), this contains the OID of the collation to use for the index, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":16,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indclass","type":"oidvector","description":"For each column in the index key (indnkeyatts values), this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indoption","type":"int2vector","description":"This is an array of indnkeyatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method.","hidden":false,"type_oid":22,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for index attributes that are not simple column references. This is a list with one element for each zero entry in indkey. Null if all index attributes are simple references.","hidden":false,"type_oid":194,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indpred","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for partial index predicate. Null if not a partial index.","hidden":false,"type_oid":194,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-index.html","source_path":"sources/postgresql/13/catalog-pg-index.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_index.h","definition_source_path":"sources/postgresql/13/source/pg_index.h","source_column_count":20,"documentary_schema_source":"documentation","relation_oid":2610,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_index contains part of the information about indexes. The rest is mostly in pg_class.","columns":[{"name":"indexrelid","type":"oid","description":"The OID of the pg_class entry for this index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indrelid","type":"oid","description":"The OID of the pg_class entry for the table this index is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnatts","type":"smallint","description":"The total number of columns in the index (duplicates pg_class.relnatts); this number includes both key and included attributes","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnkeyatts","type":"smallint","description":"The number of key columns in the index, not counting any included columns, which are merely stored and do not participate in the index semantics","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisunique","type":"boolean","description":"If true, this is a unique index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisprimary","type":"boolean","description":"If true, this index represents the primary key of the table (indisunique should always be true when this is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisexclusion","type":"boolean","description":"If true, this index supports an exclusion constraint","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indimmediate","type":"boolean","description":"If true, the uniqueness check is enforced immediately on insertion (irrelevant if indisunique is not true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisclustered","type":"boolean","description":"If true, the table was last clustered on this index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisvalid","type":"boolean","description":"If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not guaranteed true either.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indcheckxmin","type":"boolean","description":"If true, queries must not use the index until the xmin of this pg_index row is below their TransactionXmin event horizon, because the table may contain broken HOT chains with incompatible rows that they can see","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisready","type":"boolean","description":"If true, the index is currently ready for inserts. False means the index must be ignored by INSERT/UPDATE operations.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indislive","type":"boolean","description":"If false, the index is in process of being dropped, and should be ignored for all purposes (including HOT-safety decisions)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisreplident","type":"boolean","description":"If true this index has been chosen as “replica identity” using ALTER TABLE ... REPLICA IDENTITY USING INDEX ...","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indkey","type":"int2vector","description":"This is an array of indnatts values that indicate which table columns this index indexes. For example a value of 1 3 would mean that the first and the third table columns make up the index entries. Key columns come before non-key (included) columns. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indcollation","type":"oidvector","description":"For each column in the index key (indnkeyatts values), this contains the OID of the collation to use for the index, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":16,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indclass","type":"oidvector","description":"For each column in the index key (indnkeyatts values), this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indoption","type":"int2vector","description":"This is an array of indnkeyatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method.","hidden":false,"type_oid":22,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for index attributes that are not simple column references. This is a list with one element for each zero entry in indkey. Null if all index attributes are simple references.","hidden":false,"type_oid":194,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indpred","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for partial index predicate. Null if not a partial index.","hidden":false,"type_oid":194,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-index.html","source_path":"sources/postgresql/14/catalog-pg-index.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_index.h","definition_source_path":"sources/postgresql/14/source/pg_index.h","source_column_count":20,"documentary_schema_source":"documentation","relation_oid":2610,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_index contains part of the information about indexes. The rest is mostly in pg_class.","columns":[{"name":"indexrelid","type":"oid","description":"The OID of the pg_class entry for this index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indrelid","type":"oid","description":"The OID of the pg_class entry for the table this index is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnatts","type":"smallint","description":"The total number of columns in the index (duplicates pg_class.relnatts); this number includes both key and included attributes","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnkeyatts","type":"smallint","description":"The number of key columns in the index, not counting any included columns, which are merely stored and do not participate in the index semantics","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisunique","type":"boolean","description":"If true, this is a unique index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnullsnotdistinct","type":"boolean","description":"This value is only used for unique indexes. If false, this unique index will consider null values distinct (so the index can contain multiple null values in a column, the default PostgreSQL behavior). If it is true, it will consider null values to be equal (so the index can only contain one null value in a column).","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisprimary","type":"boolean","description":"If true, this index represents the primary key of the table (indisunique should always be true when this is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisexclusion","type":"boolean","description":"If true, this index supports an exclusion constraint","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indimmediate","type":"boolean","description":"If true, the uniqueness check is enforced immediately on insertion (irrelevant if indisunique is not true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisclustered","type":"boolean","description":"If true, the table was last clustered on this index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisvalid","type":"boolean","description":"If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not guaranteed true either.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indcheckxmin","type":"boolean","description":"If true, queries must not use the index until the xmin of this pg_index row is below their TransactionXmin event horizon, because the table may contain broken HOT chains with incompatible rows that they can see","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisready","type":"boolean","description":"If true, the index is currently ready for inserts. False means the index must be ignored by INSERT/UPDATE operations.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indislive","type":"boolean","description":"If false, the index is in process of being dropped, and should be ignored for all purposes (including HOT-safety decisions)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisreplident","type":"boolean","description":"If true this index has been chosen as “replica identity” using ALTER TABLE ... REPLICA IDENTITY USING INDEX ...","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indkey","type":"int2vector","description":"This is an array of indnatts values that indicate which table columns this index indexes. For example, a value of 1 3 would mean that the first and the third table columns make up the index entries. Key columns come before non-key (included) columns. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":16,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indcollation","type":"oidvector","description":"For each column in the index key (indnkeyatts values), this contains the OID of the collation to use for the index, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indclass","type":"oidvector","description":"For each column in the index key (indnkeyatts values), this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indoption","type":"int2vector","description":"This is an array of indnkeyatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method.","hidden":false,"type_oid":22,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for index attributes that are not simple column references. This is a list with one element for each zero entry in indkey. Null if all index attributes are simple references.","hidden":false,"type_oid":194,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indpred","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for partial index predicate. Null if not a partial index.","hidden":false,"type_oid":194,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-index.html","source_path":"sources/postgresql/15/catalog-pg-index.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_index.h","definition_source_path":"sources/postgresql/15/source/pg_index.h","source_column_count":21,"documentary_schema_source":"documentation","relation_oid":2610,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_index contains part of the information about indexes. The rest is mostly in pg_class.","columns":[{"name":"indexrelid","type":"oid","description":"The OID of the pg_class entry for this index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indrelid","type":"oid","description":"The OID of the pg_class entry for the table this index is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnatts","type":"smallint","description":"The total number of columns in the index (duplicates pg_class.relnatts); this number includes both key and included attributes","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnkeyatts","type":"smallint","description":"The number of key columns in the index, not counting any included columns, which are merely stored and do not participate in the index semantics","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisunique","type":"boolean","description":"If true, this is a unique index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnullsnotdistinct","type":"boolean","description":"This value is only used for unique indexes. If false, this unique index will consider null values distinct (so the index can contain multiple null values in a column, the default PostgreSQL behavior). If it is true, it will consider null values to be equal (so the index can only contain one null value in a column).","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisprimary","type":"boolean","description":"If true, this index represents the primary key of the table (indisunique should always be true when this is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisexclusion","type":"boolean","description":"If true, this index supports an exclusion constraint","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indimmediate","type":"boolean","description":"If true, the uniqueness check is enforced immediately on insertion (irrelevant if indisunique is not true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisclustered","type":"boolean","description":"If true, the table was last clustered on this index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisvalid","type":"boolean","description":"If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not guaranteed true either.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indcheckxmin","type":"boolean","description":"If true, queries must not use the index until the xmin of this pg_index row is below their TransactionXmin event horizon, because the table may contain broken HOT chains with incompatible rows that they can see","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisready","type":"boolean","description":"If true, the index is currently ready for inserts. False means the index must be ignored by INSERT/UPDATE operations.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indislive","type":"boolean","description":"If false, the index is in process of being dropped, and should be ignored for all purposes (including HOT-safety decisions)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisreplident","type":"boolean","description":"If true this index has been chosen as “replica identity” using ALTER TABLE ... REPLICA IDENTITY USING INDEX ...","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indkey","type":"int2vector","description":"This is an array of indnatts values that indicate which table columns this index indexes. For example, a value of 1 3 would mean that the first and the third table columns make up the index entries. Key columns come before non-key (included) columns. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":16,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indcollation","type":"oidvector","description":"For each column in the index key (indnkeyatts values), this contains the OID of the collation to use for the index, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indclass","type":"oidvector","description":"For each column in the index key (indnkeyatts values), this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indoption","type":"int2vector","description":"This is an array of indnkeyatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method.","hidden":false,"type_oid":22,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for index attributes that are not simple column references. This is a list with one element for each zero entry in indkey. Null if all index attributes are simple references.","hidden":false,"type_oid":194,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indpred","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for partial index predicate. Null if not a partial index.","hidden":false,"type_oid":194,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-index.html","source_path":"sources/postgresql/16/catalog-pg-index.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_index.h","definition_source_path":"sources/postgresql/16/source/pg_index.h","source_column_count":21,"documentary_schema_source":"documentation","relation_oid":2610,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_index contains part of the information about indexes. The rest is mostly in pg_class.","columns":[{"name":"indexrelid","type":"oid","description":"The OID of the pg_class entry for this index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indrelid","type":"oid","description":"The OID of the pg_class entry for the table this index is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnatts","type":"smallint","description":"The total number of columns in the index (duplicates pg_class.relnatts); this number includes both key and included attributes","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnkeyatts","type":"smallint","description":"The number of key columns in the index, not counting any included columns, which are merely stored and do not participate in the index semantics","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisunique","type":"boolean","description":"If true, this is a unique index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnullsnotdistinct","type":"boolean","description":"This value is only used for unique indexes. If false, this unique index will consider null values distinct (so the index can contain multiple null values in a column, the default PostgreSQL behavior). If it is true, it will consider null values to be equal (so the index can only contain one null value in a column).","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisprimary","type":"boolean","description":"If true, this index represents the primary key of the table (indisunique should always be true when this is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisexclusion","type":"boolean","description":"If true, this index supports an exclusion constraint","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indimmediate","type":"boolean","description":"If true, the uniqueness check is enforced immediately on insertion (irrelevant if indisunique is not true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisclustered","type":"boolean","description":"If true, the table was last clustered on this index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisvalid","type":"boolean","description":"If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not guaranteed true either.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indcheckxmin","type":"boolean","description":"If true, queries must not use the index until the xmin of this pg_index row is below their TransactionXmin event horizon, because the table may contain broken HOT chains with incompatible rows that they can see","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisready","type":"boolean","description":"If true, the index is currently ready for inserts. False means the index must be ignored by INSERT/UPDATE operations.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indislive","type":"boolean","description":"If false, the index is in process of being dropped, and should be ignored for all purposes (including HOT-safety decisions)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisreplident","type":"boolean","description":"If true this index has been chosen as “replica identity” using ALTER TABLE ... REPLICA IDENTITY USING INDEX ...","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indkey","type":"int2vector","description":"This is an array of indnatts values that indicate which table columns this index indexes. For example, a value of 1 3 would mean that the first and the third table columns make up the index entries. Key columns come before non-key (included) columns. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":16,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indcollation","type":"oidvector","description":"For each column in the index key (indnkeyatts values), this contains the OID of the collation to use for the index, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indclass","type":"oidvector","description":"For each column in the index key (indnkeyatts values), this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indoption","type":"int2vector","description":"This is an array of indnkeyatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method.","hidden":false,"type_oid":22,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for index attributes that are not simple column references. This is a list with one element for each zero entry in indkey. Null if all index attributes are simple references.","hidden":false,"type_oid":194,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indpred","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for partial index predicate. Null if not a partial index.","hidden":false,"type_oid":194,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-index.html","source_path":"sources/postgresql/17/catalog-pg-index.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_index.h","definition_source_path":"sources/postgresql/17/source/pg_index.h","source_column_count":21,"documentary_schema_source":"documentation","relation_oid":2610,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_index contains part of the information about indexes. The rest is mostly in pg_class.","columns":[{"name":"indexrelid","type":"oid","description":"The OID of the pg_class entry for this index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indrelid","type":"oid","description":"The OID of the pg_class entry for the table this index is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnatts","type":"smallint","description":"The total number of columns in the index (duplicates pg_class.relnatts); this number includes both key and included attributes","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnkeyatts","type":"smallint","description":"The number of key columns in the index, not counting any included columns, which are merely stored and do not participate in the index semantics","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisunique","type":"boolean","description":"If true, this is a unique index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnullsnotdistinct","type":"boolean","description":"This value is only used for unique indexes. If false, this unique index will consider null values distinct (so the index can contain multiple null values in a column, the default PostgreSQL behavior). If it is true, it will consider null values to be equal (so the index can only contain one null value in a column).","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisprimary","type":"boolean","description":"If true, this index represents the primary key of the table (indisunique should always be true when this is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisexclusion","type":"boolean","description":"If true, this index supports an exclusion constraint","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indimmediate","type":"boolean","description":"If true, the uniqueness check is enforced immediately on insertion (irrelevant if indisunique is not true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisclustered","type":"boolean","description":"If true, the table was last clustered on this index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisvalid","type":"boolean","description":"If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not guaranteed true either.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indcheckxmin","type":"boolean","description":"If true, queries must not use the index until the xmin of this pg_index row is below their TransactionXmin event horizon, because the table may contain broken HOT chains with incompatible rows that they can see","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisready","type":"boolean","description":"If true, the index is currently ready for inserts. False means the index must be ignored by INSERT/UPDATE operations.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indislive","type":"boolean","description":"If false, the index is in process of being dropped, and should be ignored for all purposes (including HOT-safety decisions)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisreplident","type":"boolean","description":"If true this index has been chosen as “replica identity” using ALTER TABLE ... REPLICA IDENTITY USING INDEX ...","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indkey","type":"int2vector","description":"This is an array of indnatts values that indicate which table columns this index indexes. For example, a value of 1 3 would mean that the first and the third table columns make up the index entries. Key columns come before non-key (included) columns. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":16,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indcollation","type":"oidvector","description":"For each column in the index key (indnkeyatts values), this contains the OID of the collation to use for the index, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indclass","type":"oidvector","description":"For each column in the index key (indnkeyatts values), this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indoption","type":"int2vector","description":"This is an array of indnkeyatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method.","hidden":false,"type_oid":22,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for index attributes that are not simple column references. This is a list with one element for each zero entry in indkey. Null if all index attributes are simple references.","hidden":false,"type_oid":194,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indpred","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for partial index predicate. Null if not a partial index.","hidden":false,"type_oid":194,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-index.html","source_path":"sources/postgresql/18/catalog-pg-index.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_index.h","definition_source_path":"sources/postgresql/18/source/pg_index.h","source_column_count":21,"documentary_schema_source":"documentation","relation_oid":2610,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_index contains part of the information about indexes. The rest is mostly in pg_class.","columns":[{"name":"indexrelid","type":"oid","description":"The OID of the pg_class entry for this index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indrelid","type":"oid","description":"The OID of the pg_class entry for the table this index is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnatts","type":"smallint","description":"The total number of columns in the index (duplicates pg_class.relnatts); this number includes both key and included attributes","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnkeyatts","type":"smallint","description":"The number of key columns in the index, not counting any included columns, which are merely stored and do not participate in the index semantics","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisunique","type":"boolean","description":"If true, this is a unique index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indnullsnotdistinct","type":"boolean","description":"This value is only used for unique indexes. If false, this unique index will consider null values distinct (so the index can contain multiple null values in a column, the default PostgreSQL behavior). If it is true, it will consider null values to be equal (so the index can only contain one null value in a column).","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisprimary","type":"boolean","description":"If true, this index represents the primary key of the table (indisunique should always be true when this is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisexclusion","type":"boolean","description":"If true, this index supports an exclusion constraint","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indimmediate","type":"boolean","description":"If true, the uniqueness check is enforced immediately on insertion (irrelevant if indisunique is not true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisclustered","type":"boolean","description":"If true, the table was last clustered on this index","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisvalid","type":"boolean","description":"If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not guaranteed true either.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indcheckxmin","type":"boolean","description":"If true, queries must not use the index until the xmin of this pg_index row is below their TransactionXmin event horizon, because the table may contain broken HOT chains with incompatible rows that they can see","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisready","type":"boolean","description":"If true, the index is currently ready for inserts. False means the index must be ignored by INSERT/UPDATE operations.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indislive","type":"boolean","description":"If false, the index is in process of being dropped, and should be ignored for all purposes (including HOT-safety decisions)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indisreplident","type":"boolean","description":"If true this index has been chosen as “replica identity” using ALTER TABLE ... REPLICA IDENTITY USING INDEX ...","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indkey","type":"int2vector","description":"This is an array of indnatts values that indicate which table columns this index indexes. For example, a value of 1 3 would mean that the first and the third table columns make up the index entries. Key columns come before non-key (included) columns. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":16,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indcollation","type":"oidvector","description":"For each column in the index key (indnkeyatts values), this contains the OID of the collation to use for the index, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indclass","type":"oidvector","description":"For each column in the index key (indnkeyatts values), this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indoption","type":"int2vector","description":"This is an array of indnkeyatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method.","hidden":false,"type_oid":22,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"indexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for index attributes that are not simple column references. This is a list with one element for each zero entry in indkey. Null if all index attributes are simple references.","hidden":false,"type_oid":194,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indpred","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for partial index predicate. Null if not a partial index.","hidden":false,"type_oid":194,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-index.html","source_path":"sources/postgresql/19/catalog-pg-index.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_index.h","definition_source_path":"sources/postgresql/19/source/pg_index.h","source_column_count":21,"documentary_schema_source":"documentation","relation_oid":2610,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[{"name":"indisexclusion","type":"boolean","description":"If true, this index supports an exclusion constraint","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"indcollation","type":"oidvector","description":"For each column in the index key, this contains the OID of the collation to use for the index.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"removed_columns":[],"type_changes":[{"name":"indexprs","from":"text","to":"pg_node_tree"},{"name":"indpred","from":"text","to":"pg_node_tree"}],"description_changes":[{"name":"indimmediate","from":"If true, the uniqueness check is enforced immediately on insertion (indisunique should always be true when this is true)","to":"If true, the uniqueness check is enforced immediately on insertion (irrelevant if indisunique is not true)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"indisvalid","from":"If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not true either.","to":"If both this flag and indisready are true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not guaranteed true either."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.2","to":"9.3","status":"changed","added_columns":[{"name":"indislive","type":"boolean","description":"If false, the index is in process of being dropped, and should be ignored for all purposes (including HOT-safety decisions)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"indisvalid","from":"If both this flag and indisready are true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not guaranteed true either.","to":"If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness property is not guaranteed true either."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.3","to":"9.4","status":"changed","added_columns":[{"name":"indisreplident","type":"boolean","description":"If true this index has been chosen as \"replica identity\" using ALTER TABLE ... REPLICA IDENTITY USING INDEX ...","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"indcollation","from":"For each column in the index key, this contains the OID of the collation to use for the index.","to":"For each column in the index key, this contains the OID of the collation to use for the index, or zero if the column is not of a collatable data type."},{"name":"indisreplident","from":"If true this index has been chosen as \"replica identity\" using ALTER TABLE ... REPLICA IDENTITY USING INDEX ...","to":"If true this index has been chosen as “replica identity” using ALTER TABLE ... REPLICA IDENTITY USING INDEX ..."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"10","to":"11","status":"changed","added_columns":[{"name":"indnkeyatts","type":"smallint","description":"The number of key columns in the index, not counting any included columns, which are merely stored and do not participate in the index semantics","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"indclass","from":"For each column in the index key, this contains the OID of the operator class to use. See pg_opclass for details.","to":"For each column in the index key (indnkeyatts values), this contains the OID of the operator class to use. See pg_opclass for details."},{"name":"indcollation","from":"For each column in the index key, this contains the OID of the collation to use for the index, or zero if the column is not of a collatable data type.","to":"For each column in the index key (indnkeyatts values), this contains the OID of the collation to use for the index, or zero if the column is not of a collatable data type."},{"name":"indkey","from":"This is an array of indnatts values that indicate which table columns this index indexes. For example a value of 1 3 would mean that the first and the third table columns make up the index key. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference.","to":"This is an array of indnatts values that indicate which table columns this index indexes. For example a value of 1 3 would mean that the first and the third table columns make up the index entries. Key columns come before non-key (included) columns. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference."},{"name":"indnatts","from":"The number of columns in the index (duplicates pg_class.relnatts)","to":"The total number of columns in the index (duplicates pg_class.relnatts); this number includes both key and included attributes"},{"name":"indoption","from":"This is an array of indnatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method.","to":"This is an array of indnkeyatts values that store per-column flag bits. The meaning of the bits is defined by the index's access method."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"14","to":"15","status":"changed","added_columns":[{"name":"indnullsnotdistinct","type":"boolean","description":"This value is only used for unique indexes. If false, this unique index will consider null values distinct (so the index can contain multiple null values in a column, the default PostgreSQL behavior). If it is true, it will consider null values to be equal (so the index can only contain one null value in a column).","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"indkey","from":"This is an array of indnatts values that indicate which table columns this index indexes. For example a value of 1 3 would mean that the first and the third table columns make up the index entries. Key columns come before non-key (included) columns. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference.","to":"This is an array of indnatts values that indicate which table columns this index indexes. For example, a value of 1 3 would mean that the first and the third table columns make up the index entries. Key columns come before non-key (included) columns. A zero in this array indicates that the corresponding index attribute is an expression over the table columns, rather than a simple column reference."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_indexes","kind":"view","summary":"The view pg_indexes provides access to useful information about each index in the database.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The view pg_indexes provides access to useful information about each index in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table and index","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the index is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexname","type":"name","description":"Name of index","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing index (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexdef","type":"text","description":"Index definition (a reconstructed CREATE INDEX command)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/view-pg-indexes.html","source_path":"sources/postgresql/9.0/view-pg-indexes.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10977,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The view pg_indexes provides access to useful information about each index in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table and index","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the index is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexname","type":"name","description":"Name of index","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing index (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexdef","type":"text","description":"Index definition (a reconstructed CREATE INDEX command)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/view-pg-indexes.html","source_path":"sources/postgresql/9.1/view-pg-indexes.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10992,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The view pg_indexes provides access to useful information about each index in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table and index","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the index is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexname","type":"name","description":"Name of index","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing index (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexdef","type":"text","description":"Index definition (a reconstructed CREATE INDEX command)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/view-pg-indexes.html","source_path":"sources/postgresql/9.2/view-pg-indexes.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11061,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The view pg_indexes provides access to useful information about each index in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table and index","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the index is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexname","type":"name","description":"Name of index","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing index (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexdef","type":"text","description":"Index definition (a reconstructed CREATE INDEX command)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-indexes.html","source_path":"sources/postgresql/9.3/view-pg-indexes.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11082,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The view pg_indexes provides access to useful information about each index in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table and index","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the index is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexname","type":"name","description":"Name of index","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing index (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexdef","type":"text","description":"Index definition (a reconstructed CREATE INDEX command)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-indexes.html","source_path":"sources/postgresql/9.4/view-pg-indexes.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11179,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The view pg_indexes provides access to useful information about each index in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table and index","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the index is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexname","type":"name","description":"Name of index","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing index (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexdef","type":"text","description":"Index definition (a reconstructed CREATE INDEX command)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-indexes.html","source_path":"sources/postgresql/9.5/view-pg-indexes.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11665,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The view pg_indexes provides access to useful information about each index in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table and index","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the index is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexname","type":"name","description":"Name of index","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing index (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexdef","type":"text","description":"Index definition (a reconstructed CREATE INDEX command)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-indexes.html","source_path":"sources/postgresql/9.6/view-pg-indexes.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11687,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The view pg_indexes provides access to useful information about each index in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table and index","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the index is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexname","type":"name","description":"Name of index","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing index (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexdef","type":"text","description":"Index definition (a reconstructed CREATE INDEX command)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-indexes.html","source_path":"sources/postgresql/10/view-pg-indexes.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11561,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_indexes provides access to useful information about each index in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table and index","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the index is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexname","type":"name","description":"Name of index","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing index (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexdef","type":"text","description":"Index definition (a reconstructed CREATE INDEX command)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-indexes.html","source_path":"sources/postgresql/11/view-pg-indexes.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11629,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_indexes provides access to useful information about each index in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table and index","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the index is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexname","type":"name","description":"Name of index","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing index (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexdef","type":"text","description":"Index definition (a reconstructed CREATE INDEX command)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-indexes.html","source_path":"sources/postgresql/12/view-pg-indexes.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12123,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_indexes provides access to useful information about each index in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table and index","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the index is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexname","type":"name","description":"Name of index","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing index (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexdef","type":"text","description":"Index definition (a reconstructed CREATE INDEX command)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-indexes.html","source_path":"sources/postgresql/13/view-pg-indexes.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12121,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_indexes provides access to useful information about each index in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table and index","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the index is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexname","type":"name","description":"Name of index","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing index (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexdef","type":"text","description":"Index definition (a reconstructed CREATE INDEX command)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-indexes.html","source_path":"sources/postgresql/14/view-pg-indexes.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12260,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_indexes provides access to useful information about each index in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table and index","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the index is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexname","type":"name","description":"Name of index","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing index (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexdef","type":"text","description":"Index definition (a reconstructed CREATE INDEX command)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-indexes.html","source_path":"sources/postgresql/15/view-pg-indexes.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12043,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_indexes provides access to useful information about each index in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table and index","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the index is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexname","type":"name","description":"Name of index","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing index (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexdef","type":"text","description":"Index definition (a reconstructed CREATE INDEX command)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-indexes.html","source_path":"sources/postgresql/16/view-pg-indexes.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12043,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_indexes provides access to useful information about each index in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table and index","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the index is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexname","type":"name","description":"Name of index","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing index (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexdef","type":"text","description":"Index definition (a reconstructed CREATE INDEX command)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-indexes.html","source_path":"sources/postgresql/17/view-pg-indexes.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12043,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_indexes provides access to useful information about each index in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table and index","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the index is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexname","type":"name","description":"Name of index","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing index (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexdef","type":"text","description":"Index definition (a reconstructed CREATE INDEX command)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-indexes.html","source_path":"sources/postgresql/18/view-pg-indexes.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12043,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_indexes provides access to useful information about each index in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table and index","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the index is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexname","type":"name","description":"Name of index","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing index (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexdef","type":"text","description":"Index definition (a reconstructed CREATE INDEX command)","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-indexes.html","source_path":"sources/postgresql/19/view-pg-indexes.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12043,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[]},{"name":"pg_inherits","kind":"catalog","summary":"table inheritance hierarchy","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_inherits records information about table inheritance hierarchies. There is one entry for each direct child table in the database. (Indirect inheritance can be determined by following chains of entries.)","columns":[{"name":"inhrelid","type":"oid","description":"The OID of the child table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhparent","type":"oid","description":"The OID of the parent table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhseqno","type":"integer","description":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-inherits.html","source_path":"sources/postgresql/9.0/catalog-pg-inherits.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_inherits.h","definition_source_path":"sources/postgresql/9.0/source/pg_inherits.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2611,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_inherits records information about table inheritance hierarchies. There is one entry for each direct child table in the database. (Indirect inheritance can be determined by following chains of entries.)","columns":[{"name":"inhrelid","type":"oid","description":"The OID of the child table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhparent","type":"oid","description":"The OID of the parent table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhseqno","type":"integer","description":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-inherits.html","source_path":"sources/postgresql/9.1/catalog-pg-inherits.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_inherits.h","definition_source_path":"sources/postgresql/9.1/source/pg_inherits.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2611,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_inherits records information about table inheritance hierarchies. There is one entry for each direct child table in the database. (Indirect inheritance can be determined by following chains of entries.)","columns":[{"name":"inhrelid","type":"oid","description":"The OID of the child table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhparent","type":"oid","description":"The OID of the parent table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhseqno","type":"integer","description":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-inherits.html","source_path":"sources/postgresql/9.2/catalog-pg-inherits.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_inherits.h","definition_source_path":"sources/postgresql/9.2/source/pg_inherits.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2611,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_inherits records information about table inheritance hierarchies. There is one entry for each direct child table in the database. (Indirect inheritance can be determined by following chains of entries.)","columns":[{"name":"inhrelid","type":"oid","description":"The OID of the child table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhparent","type":"oid","description":"The OID of the parent table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhseqno","type":"integer","description":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-inherits.html","source_path":"sources/postgresql/9.3/catalog-pg-inherits.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_inherits.h","definition_source_path":"sources/postgresql/9.3/source/pg_inherits.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2611,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_inherits records information about table inheritance hierarchies. There is one entry for each direct child table in the database. (Indirect inheritance can be determined by following chains of entries.)","columns":[{"name":"inhrelid","type":"oid","description":"The OID of the child table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhparent","type":"oid","description":"The OID of the parent table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhseqno","type":"integer","description":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-inherits.html","source_path":"sources/postgresql/9.4/catalog-pg-inherits.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_inherits.h","definition_source_path":"sources/postgresql/9.4/source/pg_inherits.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2611,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_inherits records information about table inheritance hierarchies. There is one entry for each direct child table in the database. (Indirect inheritance can be determined by following chains of entries.)","columns":[{"name":"inhrelid","type":"oid","description":"The OID of the child table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhparent","type":"oid","description":"The OID of the parent table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhseqno","type":"integer","description":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-inherits.html","source_path":"sources/postgresql/9.5/catalog-pg-inherits.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_inherits.h","definition_source_path":"sources/postgresql/9.5/source/pg_inherits.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2611,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_inherits records information about table inheritance hierarchies. There is one entry for each direct child table in the database. (Indirect inheritance can be determined by following chains of entries.)","columns":[{"name":"inhrelid","type":"oid","description":"The OID of the child table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhparent","type":"oid","description":"The OID of the parent table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhseqno","type":"integer","description":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-inherits.html","source_path":"sources/postgresql/9.6/catalog-pg-inherits.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_inherits.h","definition_source_path":"sources/postgresql/9.6/source/pg_inherits.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2611,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_inherits records information about table inheritance hierarchies. There is one entry for each direct child table in the database. (Indirect inheritance can be determined by following chains of entries.)","columns":[{"name":"inhrelid","type":"oid","description":"The OID of the child table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhparent","type":"oid","description":"The OID of the parent table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhseqno","type":"integer","description":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-inherits.html","source_path":"sources/postgresql/10/catalog-pg-inherits.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_inherits.h","definition_source_path":"sources/postgresql/10/source/pg_inherits.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2611,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_inherits records information about table and index inheritance hierarchies. There is one entry for each direct parent-child table or index relationship in the database. (Indirect inheritance can be determined by following chains of entries.)","columns":[{"name":"inhrelid","type":"oid","description":"The OID of the child table or index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhparent","type":"oid","description":"The OID of the parent table or index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhseqno","type":"integer","description":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1. Indexes can not have multiple inheritance, since they can only inherit when using declarative partitioning.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-inherits.html","source_path":"sources/postgresql/11/catalog-pg-inherits.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_inherits.h","definition_source_path":"sources/postgresql/11/source/pg_inherits.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2611,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_inherits records information about table and index inheritance hierarchies. There is one entry for each direct parent-child table or index relationship in the database. (Indirect inheritance can be determined by following chains of entries.)","columns":[{"name":"inhrelid","type":"oid","description":"The OID of the child table or index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhparent","type":"oid","description":"The OID of the parent table or index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhseqno","type":"integer","description":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1. Indexes can not have multiple inheritance, since they can only inherit when using declarative partitioning.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-inherits.html","source_path":"sources/postgresql/12/catalog-pg-inherits.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_inherits.h","definition_source_path":"sources/postgresql/12/source/pg_inherits.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2611,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_inherits records information about table and index inheritance hierarchies. There is one entry for each direct parent-child table or index relationship in the database. (Indirect inheritance can be determined by following chains of entries.)","columns":[{"name":"inhrelid","type":"oid","description":"The OID of the child table or index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhparent","type":"oid","description":"The OID of the parent table or index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhseqno","type":"integer","description":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1. Indexes cannot have multiple inheritance, since they can only inherit when using declarative partitioning.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-inherits.html","source_path":"sources/postgresql/13/catalog-pg-inherits.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_inherits.h","definition_source_path":"sources/postgresql/13/source/pg_inherits.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2611,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_inherits records information about table and index inheritance hierarchies. There is one entry for each direct parent-child table or index relationship in the database. (Indirect inheritance can be determined by following chains of entries.)","columns":[{"name":"inhrelid","type":"oid","description":"The OID of the child table or index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhparent","type":"oid","description":"The OID of the parent table or index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhseqno","type":"integer","description":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1. Indexes cannot have multiple inheritance, since they can only inherit when using declarative partitioning.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhdetachpending","type":"boolean","description":"true for a partition that is in the process of being detached; false otherwise.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-inherits.html","source_path":"sources/postgresql/14/catalog-pg-inherits.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_inherits.h","definition_source_path":"sources/postgresql/14/source/pg_inherits.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2611,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_inherits records information about table and index inheritance hierarchies. There is one entry for each direct parent-child table or index relationship in the database. (Indirect inheritance can be determined by following chains of entries.)","columns":[{"name":"inhrelid","type":"oid","description":"The OID of the child table or index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhparent","type":"oid","description":"The OID of the parent table or index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhseqno","type":"integer","description":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1. Indexes cannot have multiple inheritance, since they can only inherit when using declarative partitioning.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhdetachpending","type":"boolean","description":"true for a partition that is in the process of being detached; false otherwise.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-inherits.html","source_path":"sources/postgresql/15/catalog-pg-inherits.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_inherits.h","definition_source_path":"sources/postgresql/15/source/pg_inherits.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2611,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_inherits records information about table and index inheritance hierarchies. There is one entry for each direct parent-child table or index relationship in the database. (Indirect inheritance can be determined by following chains of entries.)","columns":[{"name":"inhrelid","type":"oid","description":"The OID of the child table or index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhparent","type":"oid","description":"The OID of the parent table or index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhseqno","type":"integer","description":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1. Indexes cannot have multiple inheritance, since they can only inherit when using declarative partitioning.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhdetachpending","type":"boolean","description":"true for a partition that is in the process of being detached; false otherwise.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-inherits.html","source_path":"sources/postgresql/16/catalog-pg-inherits.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_inherits.h","definition_source_path":"sources/postgresql/16/source/pg_inherits.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2611,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_inherits records information about table and index inheritance hierarchies. There is one entry for each direct parent-child table or index relationship in the database. (Indirect inheritance can be determined by following chains of entries.)","columns":[{"name":"inhrelid","type":"oid","description":"The OID of the child table or index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhparent","type":"oid","description":"The OID of the parent table or index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhseqno","type":"integer","description":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1. Indexes cannot have multiple inheritance, since they can only inherit when using declarative partitioning.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhdetachpending","type":"boolean","description":"true for a partition that is in the process of being detached; false otherwise.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-inherits.html","source_path":"sources/postgresql/17/catalog-pg-inherits.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_inherits.h","definition_source_path":"sources/postgresql/17/source/pg_inherits.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2611,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_inherits records information about table and index inheritance hierarchies. There is one entry for each direct parent-child table or index relationship in the database. (Indirect inheritance can be determined by following chains of entries.)","columns":[{"name":"inhrelid","type":"oid","description":"The OID of the child table or index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhparent","type":"oid","description":"The OID of the parent table or index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhseqno","type":"integer","description":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1. Indexes cannot have multiple inheritance, since they can only inherit when using declarative partitioning.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhdetachpending","type":"boolean","description":"true for a partition that is in the process of being detached; false otherwise.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-inherits.html","source_path":"sources/postgresql/18/catalog-pg-inherits.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_inherits.h","definition_source_path":"sources/postgresql/18/source/pg_inherits.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2611,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_inherits records information about table and index inheritance hierarchies. There is one entry for each direct parent-child table or index relationship in the database. (Indirect inheritance can be determined by following chains of entries.)","columns":[{"name":"inhrelid","type":"oid","description":"The OID of the child table or index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhparent","type":"oid","description":"The OID of the parent table or index","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhseqno","type":"integer","description":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1. Indexes cannot have multiple inheritance, since they can only inherit when using declarative partitioning.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"inhdetachpending","type":"boolean","description":"true for a partition that is in the process of being detached; false otherwise.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-inherits.html","source_path":"sources/postgresql/19/catalog-pg-inherits.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_inherits.h","definition_source_path":"sources/postgresql/19/source/pg_inherits.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2611,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"10","to":"11","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"inhparent","from":"The OID of the parent table","to":"The OID of the parent table or index"},{"name":"inhrelid","from":"The OID of the child table","to":"The OID of the child table or index"},{"name":"inhseqno","from":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1.","to":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1. Indexes can not have multiple inheritance, since they can only inherit when using declarative partitioning."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"inhseqno","from":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1. Indexes can not have multiple inheritance, since they can only inherit when using declarative partitioning.","to":"If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in which the inherited columns are to be arranged. The count starts at 1. Indexes cannot have multiple inheritance, since they can only inherit when using declarative partitioning."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[{"name":"inhdetachpending","type":"boolean","description":"true for a partition that is in the process of being detached; false otherwise.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_init_privs","kind":"catalog","summary":"object initial privileges","first_version":"9.6","last_version":"19","versions":{"9.6":{"description":"The catalog pg_init_privs records information about the initial privileges of objects in the system. There is one entry for each object in the database which has a non-default (non-NULL) initial set of privileges.\n\nObjects can have initial privileges either by having those privileges set when the system is initialized (by initdb) or when the object is created during a CREATE EXTENSION and the extension script sets initial privileges using the GRANT system. Note that the system will automatically handle recording of the privileges during the extension script and that extension authors need only use the GRANT and REVOKE statements in their script to have the privileges recorded. The privtype column indicates if the initial privilege was set by initdb or during a CREATE EXTENSION command.\n\nObjects which have initial privileges set by initdb will have entries where privtype is 'i', while objects which have initial privileges set by CREATE EXTENSION will have entries where privtype is 'e'.","columns":[{"name":"objoid","type":"oid","description":"The OID of the specific object","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog the object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"privtype","type":"\"char\"","description":"A code defining the type of initial privilege of this object; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"initprivs","type":"aclitem[]","description":"The initial access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-init-privs.html","source_path":"sources/postgresql/9.6/catalog-pg-init-privs.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_init_privs.h","definition_source_path":"sources/postgresql/9.6/source/pg_init_privs.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3394,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_init_privs records information about the initial privileges of objects in the system. There is one entry for each object in the database which has a non-default (non-NULL) initial set of privileges.\n\nObjects can have initial privileges either by having those privileges set when the system is initialized (by initdb) or when the object is created during a CREATE EXTENSION and the extension script sets initial privileges using the GRANT system. Note that the system will automatically handle recording of the privileges during the extension script and that extension authors need only use the GRANT and REVOKE statements in their script to have the privileges recorded. The privtype column indicates if the initial privilege was set by initdb or during a CREATE EXTENSION command.\n\nObjects which have initial privileges set by initdb will have entries where privtype is 'i', while objects which have initial privileges set by CREATE EXTENSION will have entries where privtype is 'e'.","columns":[{"name":"objoid","type":"oid","description":"The OID of the specific object","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog the object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"privtype","type":"\"char\"","description":"A code defining the type of initial privilege of this object; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"initprivs","type":"aclitem[]","description":"The initial access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-init-privs.html","source_path":"sources/postgresql/10/catalog-pg-init-privs.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_init_privs.h","definition_source_path":"sources/postgresql/10/source/pg_init_privs.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3394,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_init_privs records information about the initial privileges of objects in the system. There is one entry for each object in the database which has a non-default (non-NULL) initial set of privileges.\n\nObjects can have initial privileges either by having those privileges set when the system is initialized (by initdb) or when the object is created during a CREATE EXTENSION and the extension script sets initial privileges using the GRANT system. Note that the system will automatically handle recording of the privileges during the extension script and that extension authors need only use the GRANT and REVOKE statements in their script to have the privileges recorded. The privtype column indicates if the initial privilege was set by initdb or during a CREATE EXTENSION command.\n\nObjects which have initial privileges set by initdb will have entries where privtype is 'i', while objects which have initial privileges set by CREATE EXTENSION will have entries where privtype is 'e'.","columns":[{"name":"objoid","type":"oid","description":"The OID of the specific object","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog the object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"privtype","type":"\"char\"","description":"A code defining the type of initial privilege of this object; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"initprivs","type":"aclitem[]","description":"The initial access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-init-privs.html","source_path":"sources/postgresql/11/catalog-pg-init-privs.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_init_privs.h","definition_source_path":"sources/postgresql/11/source/pg_init_privs.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3394,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_init_privs records information about the initial privileges of objects in the system. There is one entry for each object in the database which has a non-default (non-NULL) initial set of privileges.\n\nObjects can have initial privileges either by having those privileges set when the system is initialized (by initdb) or when the object is created during a CREATE EXTENSION and the extension script sets initial privileges using the GRANT system. Note that the system will automatically handle recording of the privileges during the extension script and that extension authors need only use the GRANT and REVOKE statements in their script to have the privileges recorded. The privtype column indicates if the initial privilege was set by initdb or during a CREATE EXTENSION command.\n\nObjects which have initial privileges set by initdb will have entries where privtype is 'i', while objects which have initial privileges set by CREATE EXTENSION will have entries where privtype is 'e'.","columns":[{"name":"objoid","type":"oid","description":"The OID of the specific object","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog the object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"privtype","type":"\"char\"","description":"A code defining the type of initial privilege of this object; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"initprivs","type":"aclitem[]","description":"The initial access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-init-privs.html","source_path":"sources/postgresql/12/catalog-pg-init-privs.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_init_privs.h","definition_source_path":"sources/postgresql/12/source/pg_init_privs.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3394,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_init_privs records information about the initial privileges of objects in the system. There is one entry for each object in the database which has a non-default (non-NULL) initial set of privileges.\n\nObjects can have initial privileges either by having those privileges set when the system is initialized (by initdb) or when the object is created during a CREATE EXTENSION and the extension script sets initial privileges using the GRANT system. Note that the system will automatically handle recording of the privileges during the extension script and that extension authors need only use the GRANT and REVOKE statements in their script to have the privileges recorded. The privtype column indicates if the initial privilege was set by initdb or during a CREATE EXTENSION command.\n\nObjects which have initial privileges set by initdb will have entries where privtype is 'i', while objects which have initial privileges set by CREATE EXTENSION will have entries where privtype is 'e'.","columns":[{"name":"objoid","type":"oid","description":"The OID of the specific object","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog the object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"privtype","type":"\"char\"","description":"A code defining the type of initial privilege of this object; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"initprivs","type":"aclitem[]","description":"The initial access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-init-privs.html","source_path":"sources/postgresql/13/catalog-pg-init-privs.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_init_privs.h","definition_source_path":"sources/postgresql/13/source/pg_init_privs.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3394,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_init_privs records information about the initial privileges of objects in the system. There is one entry for each object in the database which has a non-default (non-NULL) initial set of privileges.\n\nObjects can have initial privileges either by having those privileges set when the system is initialized (by initdb) or when the object is created during a CREATE EXTENSION and the extension script sets initial privileges using the GRANT system. Note that the system will automatically handle recording of the privileges during the extension script and that extension authors need only use the GRANT and REVOKE statements in their script to have the privileges recorded. The privtype column indicates if the initial privilege was set by initdb or during a CREATE EXTENSION command.\n\nObjects which have initial privileges set by initdb will have entries where privtype is 'i', while objects which have initial privileges set by CREATE EXTENSION will have entries where privtype is 'e'.","columns":[{"name":"objoid","type":"oid","description":"The OID of the specific object","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog the object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"privtype","type":"\"char\"","description":"A code defining the type of initial privilege of this object; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"initprivs","type":"aclitem[]","description":"The initial access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-init-privs.html","source_path":"sources/postgresql/14/catalog-pg-init-privs.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_init_privs.h","definition_source_path":"sources/postgresql/14/source/pg_init_privs.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3394,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_init_privs records information about the initial privileges of objects in the system. There is one entry for each object in the database which has a non-default (non-NULL) initial set of privileges.\n\nObjects can have initial privileges either by having those privileges set when the system is initialized (by initdb) or when the object is created during a CREATE EXTENSION and the extension script sets initial privileges using the GRANT system. Note that the system will automatically handle recording of the privileges during the extension script and that extension authors need only use the GRANT and REVOKE statements in their script to have the privileges recorded. The privtype column indicates if the initial privilege was set by initdb or during a CREATE EXTENSION command.\n\nObjects which have initial privileges set by initdb will have entries where privtype is 'i', while objects which have initial privileges set by CREATE EXTENSION will have entries where privtype is 'e'.","columns":[{"name":"objoid","type":"oid","description":"The OID of the specific object","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog the object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"privtype","type":"\"char\"","description":"A code defining the type of initial privilege of this object; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"initprivs","type":"aclitem[]","description":"The initial access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-init-privs.html","source_path":"sources/postgresql/15/catalog-pg-init-privs.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_init_privs.h","definition_source_path":"sources/postgresql/15/source/pg_init_privs.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3394,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_init_privs records information about the initial privileges of objects in the system. There is one entry for each object in the database which has a non-default (non-NULL) initial set of privileges.\n\nObjects can have initial privileges either by having those privileges set when the system is initialized (by initdb) or when the object is created during a CREATE EXTENSION and the extension script sets initial privileges using the GRANT system. Note that the system will automatically handle recording of the privileges during the extension script and that extension authors need only use the GRANT and REVOKE statements in their script to have the privileges recorded. The privtype column indicates if the initial privilege was set by initdb or during a CREATE EXTENSION command.\n\nObjects which have initial privileges set by initdb will have entries where privtype is 'i', while objects which have initial privileges set by CREATE EXTENSION will have entries where privtype is 'e'.","columns":[{"name":"objoid","type":"oid","description":"The OID of the specific object","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog the object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"privtype","type":"\"char\"","description":"A code defining the type of initial privilege of this object; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"initprivs","type":"aclitem[]","description":"The initial access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-init-privs.html","source_path":"sources/postgresql/16/catalog-pg-init-privs.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_init_privs.h","definition_source_path":"sources/postgresql/16/source/pg_init_privs.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3394,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_init_privs records information about the initial privileges of objects in the system. There is one entry for each object in the database which has a non-default (non-NULL) initial set of privileges.\n\nObjects can have initial privileges either by having those privileges set when the system is initialized (by initdb) or when the object is created during a CREATE EXTENSION and the extension script sets initial privileges using the GRANT system. Note that the system will automatically handle recording of the privileges during the extension script and that extension authors need only use the GRANT and REVOKE statements in their script to have the privileges recorded. The privtype column indicates if the initial privilege was set by initdb or during a CREATE EXTENSION command.\n\nObjects which have initial privileges set by initdb will have entries where privtype is 'i', while objects which have initial privileges set by CREATE EXTENSION will have entries where privtype is 'e'.","columns":[{"name":"objoid","type":"oid","description":"The OID of the specific object","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog the object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"privtype","type":"\"char\"","description":"A code defining the type of initial privilege of this object; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"initprivs","type":"aclitem[]","description":"The initial access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-init-privs.html","source_path":"sources/postgresql/17/catalog-pg-init-privs.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_init_privs.h","definition_source_path":"sources/postgresql/17/source/pg_init_privs.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3394,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_init_privs records information about the initial privileges of objects in the system. There is one entry for each object in the database which has a non-default (non-NULL) initial set of privileges.\n\nObjects can have initial privileges either by having those privileges set when the system is initialized (by initdb) or when the object is created during a CREATE EXTENSION and the extension script sets initial privileges using the GRANT system. Note that the system will automatically handle recording of the privileges during the extension script and that extension authors need only use the GRANT and REVOKE statements in their script to have the privileges recorded. The privtype column indicates if the initial privilege was set by initdb or during a CREATE EXTENSION command.\n\nObjects which have initial privileges set by initdb will have entries where privtype is 'i', while objects which have initial privileges set by CREATE EXTENSION will have entries where privtype is 'e'.","columns":[{"name":"objoid","type":"oid","description":"The OID of the specific object","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog the object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"privtype","type":"\"char\"","description":"A code defining the type of initial privilege of this object; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"initprivs","type":"aclitem[]","description":"The initial access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-init-privs.html","source_path":"sources/postgresql/18/catalog-pg-init-privs.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_init_privs.h","definition_source_path":"sources/postgresql/18/source/pg_init_privs.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3394,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_init_privs records information about the initial privileges of objects in the system. There is one entry for each object in the database which has a non-default (non-NULL) initial set of privileges.\n\nObjects can have initial privileges either by having those privileges set when the system is initialized (by initdb) or when the object is created during a CREATE EXTENSION and the extension script sets initial privileges using the GRANT system. Note that the system will automatically handle recording of the privileges during the extension script and that extension authors need only use the GRANT and REVOKE statements in their script to have the privileges recorded. The privtype column indicates if the initial privilege was set by initdb or during a CREATE EXTENSION command.\n\nObjects which have initial privileges set by initdb will have entries where privtype is 'i', while objects which have initial privileges set by CREATE EXTENSION will have entries where privtype is 'e'.","columns":[{"name":"objoid","type":"oid","description":"The OID of the specific object","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog the object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"privtype","type":"\"char\"","description":"A code defining the type of initial privilege of this object; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"initprivs","type":"aclitem[]","description":"The initial access privileges; see Section 5.9 for details","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-init-privs.html","source_path":"sources/postgresql/19/catalog-pg-init-privs.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_init_privs.h","definition_source_path":"sources/postgresql/19/source/pg_init_privs.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3394,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.5","to":"9.6","status":"added","added_columns":[{"name":"objoid","type":"oid","description":"The OID of the specific object","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog the object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"privtype","type":"\"char\"","description":"A code defining the type of initial privilege of this object; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"initprivs","type":"aclitem[]","description":"The initial access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"initprivs","from":"The initial access privileges; see GRANT and REVOKE for details","to":"The initial access privileges; see Section 5.7 for details"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"initprivs","from":"The initial access privileges; see Section 5.7 for details","to":"The initial access privileges; see Section 5.8 for details"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"initprivs","from":"The initial access privileges; see Section 5.8 for details","to":"The initial access privileges; see Section 5.9 for details"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_language","kind":"catalog","summary":"languages for writing functions","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 38 for more information about language handlers.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_language.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanname","type":"name","description":"Name of the language","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanowner","type":"oid","description":"Owner of the language","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanispl","type":"boolean","description":"This is false for internal languages (such as SQL) and true for user-defined languages. Currently, pg_dump still uses this to determine which languages need to be dumped, but this might be replaced by a different mechanism in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanpltrusted","type":"boolean","description":"True if this is a trusted language, which means that it is believed not to grant access to anything outside the normal SQL execution environment. Only superusers can create functions in untrusted languages.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanplcallfoid","type":"oid","description":"For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"laninline","type":"oid","description":"This references a function that is responsible for executing \"inline\" anonymous code blocks (DO blocks). Zero if inline blocks are not supported.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanvalidator","type":"oid","description":"This references a language validator function that is responsible for checking the syntax and validity of new functions when they are created. Zero if no validator is provided.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-language.html","source_path":"sources/postgresql/9.0/catalog-pg-language.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_language.h","definition_source_path":"sources/postgresql/9.0/source/pg_language.h","source_column_count":9,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2612,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 38 for more information about language handlers.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_language.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanname","type":"name","description":"Name of the language","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanowner","type":"oid","description":"Owner of the language","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanispl","type":"boolean","description":"This is false for internal languages (such as SQL) and true for user-defined languages. Currently, pg_dump still uses this to determine which languages need to be dumped, but this might be replaced by a different mechanism in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanpltrusted","type":"boolean","description":"True if this is a trusted language, which means that it is believed not to grant access to anything outside the normal SQL execution environment. Only superusers can create functions in untrusted languages.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanplcallfoid","type":"oid","description":"For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"laninline","type":"oid","description":"This references a function that is responsible for executing \"inline\" anonymous code blocks (DO blocks). Zero if inline blocks are not supported.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanvalidator","type":"oid","description":"This references a language validator function that is responsible for checking the syntax and validity of new functions when they are created. Zero if no validator is provided.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-language.html","source_path":"sources/postgresql/9.1/catalog-pg-language.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_language.h","definition_source_path":"sources/postgresql/9.1/source/pg_language.h","source_column_count":9,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2612,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 38 for more information about language handlers.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_language.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanname","type":"name","description":"Name of the language","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanowner","type":"oid","description":"Owner of the language","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanispl","type":"boolean","description":"This is false for internal languages (such as SQL) and true for user-defined languages. Currently, pg_dump still uses this to determine which languages need to be dumped, but this might be replaced by a different mechanism in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanpltrusted","type":"boolean","description":"True if this is a trusted language, which means that it is believed not to grant access to anything outside the normal SQL execution environment. Only superusers can create functions in untrusted languages.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanplcallfoid","type":"oid","description":"For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"laninline","type":"oid","description":"This references a function that is responsible for executing \"inline\" anonymous code blocks (DO blocks). Zero if inline blocks are not supported.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanvalidator","type":"oid","description":"This references a language validator function that is responsible for checking the syntax and validity of new functions when they are created. Zero if no validator is provided.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-language.html","source_path":"sources/postgresql/9.2/catalog-pg-language.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_language.h","definition_source_path":"sources/postgresql/9.2/source/pg_language.h","source_column_count":9,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2612,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 39 for more information about language handlers.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanname","type":"name","description":"Name of the language","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanowner","type":"oid","description":"Owner of the language","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanispl","type":"boolean","description":"This is false for internal languages (such as SQL) and true for user-defined languages. Currently, pg_dump still uses this to determine which languages need to be dumped, but this might be replaced by a different mechanism in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanpltrusted","type":"boolean","description":"True if this is a trusted language, which means that it is believed not to grant access to anything outside the normal SQL execution environment. Only superusers can create functions in untrusted languages.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanplcallfoid","type":"oid","description":"For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"laninline","type":"oid","description":"This references a function that is responsible for executing \"inline\" anonymous code blocks (DO blocks). Zero if inline blocks are not supported.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanvalidator","type":"oid","description":"This references a language validator function that is responsible for checking the syntax and validity of new functions when they are created. Zero if no validator is provided.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-language.html","source_path":"sources/postgresql/9.3/catalog-pg-language.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_language.h","definition_source_path":"sources/postgresql/9.3/source/pg_language.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2612,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 39 for more information about language handlers.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanname","type":"name","description":"Name of the language","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanowner","type":"oid","description":"Owner of the language","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanispl","type":"boolean","description":"This is false for internal languages (such as SQL) and true for user-defined languages. Currently, pg_dump still uses this to determine which languages need to be dumped, but this might be replaced by a different mechanism in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanpltrusted","type":"boolean","description":"True if this is a trusted language, which means that it is believed not to grant access to anything outside the normal SQL execution environment. Only superusers can create functions in untrusted languages.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanplcallfoid","type":"oid","description":"For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"laninline","type":"oid","description":"This references a function that is responsible for executing \"inline\" anonymous code blocks (DO blocks). Zero if inline blocks are not supported.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanvalidator","type":"oid","description":"This references a language validator function that is responsible for checking the syntax and validity of new functions when they are created. Zero if no validator is provided.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-language.html","source_path":"sources/postgresql/9.4/catalog-pg-language.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_language.h","definition_source_path":"sources/postgresql/9.4/source/pg_language.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2612,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 39 for more information about language handlers.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanname","type":"name","description":"Name of the language","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanowner","type":"oid","description":"Owner of the language","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanispl","type":"boolean","description":"This is false for internal languages (such as SQL) and true for user-defined languages. Currently, pg_dump still uses this to determine which languages need to be dumped, but this might be replaced by a different mechanism in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanpltrusted","type":"boolean","description":"True if this is a trusted language, which means that it is believed not to grant access to anything outside the normal SQL execution environment. Only superusers can create functions in untrusted languages.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanplcallfoid","type":"oid","description":"For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"laninline","type":"oid","description":"This references a function that is responsible for executing \"inline\" anonymous code blocks (DO blocks). Zero if inline blocks are not supported.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanvalidator","type":"oid","description":"This references a language validator function that is responsible for checking the syntax and validity of new functions when they are created. Zero if no validator is provided.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-language.html","source_path":"sources/postgresql/9.5/catalog-pg-language.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_language.h","definition_source_path":"sources/postgresql/9.5/source/pg_language.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2612,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 40 for more information about language handlers.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanname","type":"name","description":"Name of the language","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanowner","type":"oid","description":"Owner of the language","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanispl","type":"boolean","description":"This is false for internal languages (such as SQL) and true for user-defined languages. Currently, pg_dump still uses this to determine which languages need to be dumped, but this might be replaced by a different mechanism in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanpltrusted","type":"boolean","description":"True if this is a trusted language, which means that it is believed not to grant access to anything outside the normal SQL execution environment. Only superusers can create functions in untrusted languages.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanplcallfoid","type":"oid","description":"For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"laninline","type":"oid","description":"This references a function that is responsible for executing \"inline\" anonymous code blocks (DO blocks). Zero if inline blocks are not supported.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanvalidator","type":"oid","description":"This references a language validator function that is responsible for checking the syntax and validity of new functions when they are created. Zero if no validator is provided.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-language.html","source_path":"sources/postgresql/9.6/catalog-pg-language.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_language.h","definition_source_path":"sources/postgresql/9.6/source/pg_language.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2612,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 41 for more information about language handlers.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanname","type":"name","description":"Name of the language","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanowner","type":"oid","description":"Owner of the language","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanispl","type":"boolean","description":"This is false for internal languages (such as SQL) and true for user-defined languages. Currently, pg_dump still uses this to determine which languages need to be dumped, but this might be replaced by a different mechanism in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanpltrusted","type":"boolean","description":"True if this is a trusted language, which means that it is believed not to grant access to anything outside the normal SQL execution environment. Only superusers can create functions in untrusted languages.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanplcallfoid","type":"oid","description":"For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"laninline","type":"oid","description":"This references a function that is responsible for executing “inline” anonymous code blocks (DO blocks). Zero if inline blocks are not supported.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanvalidator","type":"oid","description":"This references a language validator function that is responsible for checking the syntax and validity of new functions when they are created. Zero if no validator is provided.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-language.html","source_path":"sources/postgresql/10/catalog-pg-language.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_language.h","definition_source_path":"sources/postgresql/10/source/pg_language.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2612,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 42 for more information about language handlers.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanname","type":"name","description":"Name of the language","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanowner","type":"oid","description":"Owner of the language","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanispl","type":"boolean","description":"This is false for internal languages (such as SQL) and true for user-defined languages. Currently, pg_dump still uses this to determine which languages need to be dumped, but this might be replaced by a different mechanism in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanpltrusted","type":"boolean","description":"True if this is a trusted language, which means that it is believed not to grant access to anything outside the normal SQL execution environment. Only superusers can create functions in untrusted languages.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanplcallfoid","type":"oid","description":"For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"laninline","type":"oid","description":"This references a function that is responsible for executing “inline” anonymous code blocks (DO blocks). Zero if inline blocks are not supported.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanvalidator","type":"oid","description":"This references a language validator function that is responsible for checking the syntax and validity of new functions when they are created. Zero if no validator is provided.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-language.html","source_path":"sources/postgresql/11/catalog-pg-language.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_language.h","definition_source_path":"sources/postgresql/11/source/pg_language.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2612,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 41 for more information about language handlers.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanname","type":"name","description":"Name of the language","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanowner","type":"oid","description":"Owner of the language","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanispl","type":"boolean","description":"This is false for internal languages (such as SQL) and true for user-defined languages. Currently, pg_dump still uses this to determine which languages need to be dumped, but this might be replaced by a different mechanism in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanpltrusted","type":"boolean","description":"True if this is a trusted language, which means that it is believed not to grant access to anything outside the normal SQL execution environment. Only superusers can create functions in untrusted languages.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanplcallfoid","type":"oid","description":"For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"laninline","type":"oid","description":"This references a function that is responsible for executing “inline” anonymous code blocks (DO blocks). Zero if inline blocks are not supported.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanvalidator","type":"oid","description":"This references a language validator function that is responsible for checking the syntax and validity of new functions when they are created. Zero if no validator is provided.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":9,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-language.html","source_path":"sources/postgresql/12/catalog-pg-language.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_language.h","definition_source_path":"sources/postgresql/12/source/pg_language.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2612,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 41 for more information about language handlers.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanname","type":"name","description":"Name of the language","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanowner","type":"oid","description":"Owner of the language","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanispl","type":"boolean","description":"This is false for internal languages (such as SQL) and true for user-defined languages. Currently, pg_dump still uses this to determine which languages need to be dumped, but this might be replaced by a different mechanism in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanpltrusted","type":"boolean","description":"True if this is a trusted language, which means that it is believed not to grant access to anything outside the normal SQL execution environment. Only superusers can create functions in untrusted languages.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanplcallfoid","type":"oid","description":"For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"laninline","type":"oid","description":"This references a function that is responsible for executing “inline” anonymous code blocks (DO blocks). Zero if inline blocks are not supported.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanvalidator","type":"oid","description":"This references a language validator function that is responsible for checking the syntax and validity of new functions when they are created. Zero if no validator is provided.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":9,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-language.html","source_path":"sources/postgresql/13/catalog-pg-language.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_language.h","definition_source_path":"sources/postgresql/13/source/pg_language.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2612,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 42 for more information about language handlers.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanname","type":"name","description":"Name of the language","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanowner","type":"oid","description":"Owner of the language","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanispl","type":"boolean","description":"This is false for internal languages (such as SQL) and true for user-defined languages. Currently, pg_dump still uses this to determine which languages need to be dumped, but this might be replaced by a different mechanism in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanpltrusted","type":"boolean","description":"True if this is a trusted language, which means that it is believed not to grant access to anything outside the normal SQL execution environment. Only superusers can create functions in untrusted languages.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanplcallfoid","type":"oid","description":"For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language. Zero for internal languages.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"laninline","type":"oid","description":"This references a function that is responsible for executing “inline” anonymous code blocks (DO blocks). Zero if inline blocks are not supported.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanvalidator","type":"oid","description":"This references a language validator function that is responsible for checking the syntax and validity of new functions when they are created. Zero if no validator is provided.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":9,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-language.html","source_path":"sources/postgresql/14/catalog-pg-language.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_language.h","definition_source_path":"sources/postgresql/14/source/pg_language.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2612,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 42 for more information about language handlers.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanname","type":"name","description":"Name of the language","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanowner","type":"oid","description":"Owner of the language","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanispl","type":"boolean","description":"This is false for internal languages (such as SQL) and true for user-defined languages. Currently, pg_dump still uses this to determine which languages need to be dumped, but this might be replaced by a different mechanism in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanpltrusted","type":"boolean","description":"True if this is a trusted language, which means that it is believed not to grant access to anything outside the normal SQL execution environment. Only superusers can create functions in untrusted languages.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanplcallfoid","type":"oid","description":"For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language. Zero for internal languages.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"laninline","type":"oid","description":"This references a function that is responsible for executing “inline” anonymous code blocks (DO blocks). Zero if inline blocks are not supported.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanvalidator","type":"oid","description":"This references a language validator function that is responsible for checking the syntax and validity of new functions when they are created. Zero if no validator is provided.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":9,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-language.html","source_path":"sources/postgresql/15/catalog-pg-language.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_language.h","definition_source_path":"sources/postgresql/15/source/pg_language.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2612,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 42 for more information about language handlers.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanname","type":"name","description":"Name of the language","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanowner","type":"oid","description":"Owner of the language","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanispl","type":"boolean","description":"This is false for internal languages (such as SQL) and true for user-defined languages. Currently, pg_dump still uses this to determine which languages need to be dumped, but this might be replaced by a different mechanism in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanpltrusted","type":"boolean","description":"True if this is a trusted language, which means that it is believed not to grant access to anything outside the normal SQL execution environment. Only superusers can create functions in untrusted languages.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanplcallfoid","type":"oid","description":"For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language. Zero for internal languages.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"laninline","type":"oid","description":"This references a function that is responsible for executing “inline” anonymous code blocks (DO blocks). Zero if inline blocks are not supported.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanvalidator","type":"oid","description":"This references a language validator function that is responsible for checking the syntax and validity of new functions when they are created. Zero if no validator is provided.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":9,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-language.html","source_path":"sources/postgresql/16/catalog-pg-language.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_language.h","definition_source_path":"sources/postgresql/16/source/pg_language.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2612,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 40 for more information about language handlers.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanname","type":"name","description":"Name of the language","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanowner","type":"oid","description":"Owner of the language","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanispl","type":"boolean","description":"This is false for internal languages (such as SQL) and true for user-defined languages. Currently, pg_dump still uses this to determine which languages need to be dumped, but this might be replaced by a different mechanism in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanpltrusted","type":"boolean","description":"True if this is a trusted language, which means that it is believed not to grant access to anything outside the normal SQL execution environment. Only superusers can create functions in untrusted languages.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanplcallfoid","type":"oid","description":"For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language. Zero for internal languages.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"laninline","type":"oid","description":"This references a function that is responsible for executing “inline” anonymous code blocks (DO blocks). Zero if inline blocks are not supported.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanvalidator","type":"oid","description":"This references a language validator function that is responsible for checking the syntax and validity of new functions when they are created. Zero if no validator is provided.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanacl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":9,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-language.html","source_path":"sources/postgresql/17/catalog-pg-language.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_language.h","definition_source_path":"sources/postgresql/17/source/pg_language.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2612,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 40 for more information about language handlers.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanname","type":"name","description":"Name of the language","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanowner","type":"oid","description":"Owner of the language","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanispl","type":"boolean","description":"This is false for internal languages (such as SQL) and true for user-defined languages. Currently, pg_dump still uses this to determine which languages need to be dumped, but this might be replaced by a different mechanism in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanpltrusted","type":"boolean","description":"True if this is a trusted language, which means that it is believed not to grant access to anything outside the normal SQL execution environment. Only superusers can create functions in untrusted languages.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanplcallfoid","type":"oid","description":"For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language. Zero for internal languages.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"laninline","type":"oid","description":"This references a function that is responsible for executing “inline” anonymous code blocks (DO blocks). Zero if inline blocks are not supported.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanvalidator","type":"oid","description":"This references a language validator function that is responsible for checking the syntax and validity of new functions when they are created. Zero if no validator is provided.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanacl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":9,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-language.html","source_path":"sources/postgresql/18/catalog-pg-language.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_language.h","definition_source_path":"sources/postgresql/18/source/pg_language.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2612,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE and Chapter 40 for more information about language handlers.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanname","type":"name","description":"Name of the language","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanowner","type":"oid","description":"Owner of the language","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanispl","type":"boolean","description":"This is false for internal languages (such as SQL) and true for user-defined languages. Currently, pg_dump still uses this to determine which languages need to be dumped, but this might be replaced by a different mechanism in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanpltrusted","type":"boolean","description":"True if this is a trusted language, which means that it is believed not to grant access to anything outside the normal SQL execution environment. Only superusers can create functions in untrusted languages.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanplcallfoid","type":"oid","description":"For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language. Zero for internal languages.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"laninline","type":"oid","description":"This references a function that is responsible for executing “inline” anonymous code blocks (DO blocks). Zero if inline blocks are not supported.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanvalidator","type":"oid","description":"This references a language validator function that is responsible for checking the syntax and validity of new functions when they are created. Zero if no validator is provided.","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lanacl","type":"aclitem[]","description":"Access privileges; see Section 5.9 for details","hidden":false,"type_oid":1034,"attnum":9,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-language.html","source_path":"sources/postgresql/19/catalog-pg-language.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_language.h","definition_source_path":"sources/postgresql/19/source/pg_language.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2612,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"laninline","from":"This references a function that is responsible for executing \"inline\" anonymous code blocks (DO blocks). Zero if inline blocks are not supported.","to":"This references a function that is responsible for executing “inline” anonymous code blocks (DO blocks). Zero if inline blocks are not supported."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"10","to":"11","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"lanacl","from":"Access privileges; see GRANT and REVOKE for details","to":"Access privileges; see Section 5.7 for details"},{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"lanplcallfoid","from":"For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language","to":"For noninternal languages this references the language handler, which is a special function that is responsible for executing all functions that are written in the particular language. Zero for internal languages."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"lanacl","from":"Access privileges; see Section 5.7 for details","to":"Access privileges; see Section 5.8 for details"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"lanacl","from":"Access privileges; see Section 5.8 for details","to":"Access privileges; see Section 5.9 for details"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_largeobject","kind":"catalog","summary":"data pages for large objects","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_largeobject holds the data making up \"large objects\". A large object is identified by an OID assigned when it is created. Each large object is broken into segments or \"pages\" small enough to be conveniently stored as rows in pg_largeobject. The amount of data per page is defined to be LOBLKSIZE (which is currently BLCKSZ/4, or typically 2 kB).\n\nPrior to PostgreSQL 9.0, there was no permission structure associated with large objects. As a result, pg_largeobject was publicly readable and could be used to obtain the OIDs (and contents) of all large objects in the system. This is no longer the case; use pg_largeobject_metadata to obtain a list of large object OIDs.","columns":[{"name":"loid","type":"oid","description":"Identifier of the large object that includes this page","references":"pg_largeobject_metadata.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pageno","type":"integer","description":"Page number of this page within its large object (counting from zero)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"data","type":"bytea","description":"Actual data stored in the large object. This will never be more than LOBLKSIZE bytes and might be less.","hidden":false,"type_oid":17,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-largeobject.html","source_path":"sources/postgresql/9.0/catalog-pg-largeobject.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_largeobject.h","definition_source_path":"sources/postgresql/9.0/source/pg_largeobject.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2613,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_largeobject holds the data making up \"large objects\". A large object is identified by an OID assigned when it is created. Each large object is broken into segments or \"pages\" small enough to be conveniently stored as rows in pg_largeobject. The amount of data per page is defined to be LOBLKSIZE (which is currently BLCKSZ/4, or typically 2 kB).\n\nPrior to PostgreSQL 9.0, there was no permission structure associated with large objects. As a result, pg_largeobject was publicly readable and could be used to obtain the OIDs (and contents) of all large objects in the system. This is no longer the case; use pg_largeobject_metadata to obtain a list of large object OIDs.","columns":[{"name":"loid","type":"oid","description":"Identifier of the large object that includes this page","references":"pg_largeobject_metadata.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pageno","type":"integer","description":"Page number of this page within its large object (counting from zero)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"data","type":"bytea","description":"Actual data stored in the large object. This will never be more than LOBLKSIZE bytes and might be less.","hidden":false,"type_oid":17,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-largeobject.html","source_path":"sources/postgresql/9.1/catalog-pg-largeobject.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_largeobject.h","definition_source_path":"sources/postgresql/9.1/source/pg_largeobject.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2613,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_largeobject holds the data making up \"large objects\". A large object is identified by an OID assigned when it is created. Each large object is broken into segments or \"pages\" small enough to be conveniently stored as rows in pg_largeobject. The amount of data per page is defined to be LOBLKSIZE (which is currently BLCKSZ/4, or typically 2 kB).\n\nPrior to PostgreSQL 9.0, there was no permission structure associated with large objects. As a result, pg_largeobject was publicly readable and could be used to obtain the OIDs (and contents) of all large objects in the system. This is no longer the case; use pg_largeobject_metadata to obtain a list of large object OIDs.","columns":[{"name":"loid","type":"oid","description":"Identifier of the large object that includes this page","references":"pg_largeobject_metadata.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pageno","type":"integer","description":"Page number of this page within its large object (counting from zero)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"data","type":"bytea","description":"Actual data stored in the large object. This will never be more than LOBLKSIZE bytes and might be less.","hidden":false,"type_oid":17,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-largeobject.html","source_path":"sources/postgresql/9.2/catalog-pg-largeobject.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_largeobject.h","definition_source_path":"sources/postgresql/9.2/source/pg_largeobject.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2613,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_largeobject holds the data making up \"large objects\". A large object is identified by an OID assigned when it is created. Each large object is broken into segments or \"pages\" small enough to be conveniently stored as rows in pg_largeobject. The amount of data per page is defined to be LOBLKSIZE (which is currently BLCKSZ/4, or typically 2 kB).\n\nPrior to PostgreSQL 9.0, there was no permission structure associated with large objects. As a result, pg_largeobject was publicly readable and could be used to obtain the OIDs (and contents) of all large objects in the system. This is no longer the case; use pg_largeobject_metadata to obtain a list of large object OIDs.","columns":[{"name":"loid","type":"oid","description":"Identifier of the large object that includes this page","references":"pg_largeobject_metadata.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pageno","type":"integer","description":"Page number of this page within its large object (counting from zero)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"data","type":"bytea","description":"Actual data stored in the large object. This will never be more than LOBLKSIZE bytes and might be less.","hidden":false,"type_oid":17,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-largeobject.html","source_path":"sources/postgresql/9.3/catalog-pg-largeobject.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_largeobject.h","definition_source_path":"sources/postgresql/9.3/source/pg_largeobject.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2613,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_largeobject holds the data making up \"large objects\". A large object is identified by an OID assigned when it is created. Each large object is broken into segments or \"pages\" small enough to be conveniently stored as rows in pg_largeobject. The amount of data per page is defined to be LOBLKSIZE (which is currently BLCKSZ/4, or typically 2 kB).\n\nPrior to PostgreSQL 9.0, there was no permission structure associated with large objects. As a result, pg_largeobject was publicly readable and could be used to obtain the OIDs (and contents) of all large objects in the system. This is no longer the case; use pg_largeobject_metadata to obtain a list of large object OIDs.","columns":[{"name":"loid","type":"oid","description":"Identifier of the large object that includes this page","references":"pg_largeobject_metadata.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pageno","type":"integer","description":"Page number of this page within its large object (counting from zero)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"data","type":"bytea","description":"Actual data stored in the large object. This will never be more than LOBLKSIZE bytes and might be less.","hidden":false,"type_oid":17,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-largeobject.html","source_path":"sources/postgresql/9.4/catalog-pg-largeobject.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_largeobject.h","definition_source_path":"sources/postgresql/9.4/source/pg_largeobject.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2613,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_largeobject holds the data making up \"large objects\". A large object is identified by an OID assigned when it is created. Each large object is broken into segments or \"pages\" small enough to be conveniently stored as rows in pg_largeobject. The amount of data per page is defined to be LOBLKSIZE (which is currently BLCKSZ/4, or typically 2 kB).\n\nPrior to PostgreSQL 9.0, there was no permission structure associated with large objects. As a result, pg_largeobject was publicly readable and could be used to obtain the OIDs (and contents) of all large objects in the system. This is no longer the case; use pg_largeobject_metadata to obtain a list of large object OIDs.","columns":[{"name":"loid","type":"oid","description":"Identifier of the large object that includes this page","references":"pg_largeobject_metadata.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pageno","type":"integer","description":"Page number of this page within its large object (counting from zero)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"data","type":"bytea","description":"Actual data stored in the large object. This will never be more than LOBLKSIZE bytes and might be less.","hidden":false,"type_oid":17,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-largeobject.html","source_path":"sources/postgresql/9.5/catalog-pg-largeobject.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_largeobject.h","definition_source_path":"sources/postgresql/9.5/source/pg_largeobject.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2613,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_largeobject holds the data making up \"large objects\". A large object is identified by an OID assigned when it is created. Each large object is broken into segments or \"pages\" small enough to be conveniently stored as rows in pg_largeobject. The amount of data per page is defined to be LOBLKSIZE (which is currently BLCKSZ/4, or typically 2 kB).\n\nPrior to PostgreSQL 9.0, there was no permission structure associated with large objects. As a result, pg_largeobject was publicly readable and could be used to obtain the OIDs (and contents) of all large objects in the system. This is no longer the case; use pg_largeobject_metadata to obtain a list of large object OIDs.","columns":[{"name":"loid","type":"oid","description":"Identifier of the large object that includes this page","references":"pg_largeobject_metadata.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pageno","type":"integer","description":"Page number of this page within its large object (counting from zero)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"data","type":"bytea","description":"Actual data stored in the large object. This will never be more than LOBLKSIZE bytes and might be less.","hidden":false,"type_oid":17,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-largeobject.html","source_path":"sources/postgresql/9.6/catalog-pg-largeobject.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_largeobject.h","definition_source_path":"sources/postgresql/9.6/source/pg_largeobject.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2613,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_largeobject holds the data making up “large objects”. A large object is identified by an OID assigned when it is created. Each large object is broken into segments or “pages” small enough to be conveniently stored as rows in pg_largeobject. The amount of data per page is defined to be LOBLKSIZE (which is currently BLCKSZ/4, or typically 2 kB).\n\nPrior to PostgreSQL 9.0, there was no permission structure associated with large objects. As a result, pg_largeobject was publicly readable and could be used to obtain the OIDs (and contents) of all large objects in the system. This is no longer the case; use pg_largeobject_metadata to obtain a list of large object OIDs.","columns":[{"name":"loid","type":"oid","description":"Identifier of the large object that includes this page","references":"pg_largeobject_metadata.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pageno","type":"integer","description":"Page number of this page within its large object (counting from zero)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"data","type":"bytea","description":"Actual data stored in the large object. This will never be more than LOBLKSIZE bytes and might be less.","hidden":false,"type_oid":17,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-largeobject.html","source_path":"sources/postgresql/10/catalog-pg-largeobject.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_largeobject.h","definition_source_path":"sources/postgresql/10/source/pg_largeobject.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2613,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_largeobject holds the data making up “large objects”. A large object is identified by an OID assigned when it is created. Each large object is broken into segments or “pages” small enough to be conveniently stored as rows in pg_largeobject. The amount of data per page is defined to be LOBLKSIZE (which is currently BLCKSZ/4, or typically 2 kB).\n\nPrior to PostgreSQL 9.0, there was no permission structure associated with large objects. As a result, pg_largeobject was publicly readable and could be used to obtain the OIDs (and contents) of all large objects in the system. This is no longer the case; use pg_largeobject_metadata to obtain a list of large object OIDs.","columns":[{"name":"loid","type":"oid","description":"Identifier of the large object that includes this page","references":"pg_largeobject_metadata.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pageno","type":"integer","description":"Page number of this page within its large object (counting from zero)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"data","type":"bytea","description":"Actual data stored in the large object. This will never be more than LOBLKSIZE bytes and might be less.","hidden":false,"type_oid":17,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-largeobject.html","source_path":"sources/postgresql/11/catalog-pg-largeobject.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_largeobject.h","definition_source_path":"sources/postgresql/11/source/pg_largeobject.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2613,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_largeobject holds the data making up “large objects”. A large object is identified by an OID assigned when it is created. Each large object is broken into segments or “pages” small enough to be conveniently stored as rows in pg_largeobject. The amount of data per page is defined to be LOBLKSIZE (which is currently BLCKSZ/4, or typically 2 kB).\n\nPrior to PostgreSQL 9.0, there was no permission structure associated with large objects. As a result, pg_largeobject was publicly readable and could be used to obtain the OIDs (and contents) of all large objects in the system. This is no longer the case; use pg_largeobject_metadata to obtain a list of large object OIDs.","columns":[{"name":"loid","type":"oid","description":"Identifier of the large object that includes this page","references":"pg_largeobject_metadata.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pageno","type":"integer","description":"Page number of this page within its large object (counting from zero)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"data","type":"bytea","description":"Actual data stored in the large object. This will never be more than LOBLKSIZE bytes and might be less.","hidden":false,"type_oid":17,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-largeobject.html","source_path":"sources/postgresql/12/catalog-pg-largeobject.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_largeobject.h","definition_source_path":"sources/postgresql/12/source/pg_largeobject.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2613,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_largeobject holds the data making up “large objects”. A large object is identified by an OID assigned when it is created. Each large object is broken into segments or “pages” small enough to be conveniently stored as rows in pg_largeobject. The amount of data per page is defined to be LOBLKSIZE (which is currently BLCKSZ/4, or typically 2 kB).\n\nPrior to PostgreSQL 9.0, there was no permission structure associated with large objects. As a result, pg_largeobject was publicly readable and could be used to obtain the OIDs (and contents) of all large objects in the system. This is no longer the case; use pg_largeobject_metadata to obtain a list of large object OIDs.","columns":[{"name":"loid","type":"oid","description":"Identifier of the large object that includes this page","references":"pg_largeobject_metadata.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pageno","type":"integer","description":"Page number of this page within its large object (counting from zero)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"data","type":"bytea","description":"Actual data stored in the large object. This will never be more than LOBLKSIZE bytes and might be less.","hidden":false,"type_oid":17,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-largeobject.html","source_path":"sources/postgresql/13/catalog-pg-largeobject.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_largeobject.h","definition_source_path":"sources/postgresql/13/source/pg_largeobject.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2613,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_largeobject holds the data making up “large objects”. A large object is identified by an OID assigned when it is created. Each large object is broken into segments or “pages” small enough to be conveniently stored as rows in pg_largeobject. The amount of data per page is defined to be LOBLKSIZE (which is currently BLCKSZ/4, or typically 2 kB).\n\nPrior to PostgreSQL 9.0, there was no permission structure associated with large objects. As a result, pg_largeobject was publicly readable and could be used to obtain the OIDs (and contents) of all large objects in the system. This is no longer the case; use pg_largeobject_metadata to obtain a list of large object OIDs.","columns":[{"name":"loid","type":"oid","description":"Identifier of the large object that includes this page","references":"pg_largeobject_metadata.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pageno","type":"integer","description":"Page number of this page within its large object (counting from zero)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"data","type":"bytea","description":"Actual data stored in the large object. This will never be more than LOBLKSIZE bytes and might be less.","hidden":false,"type_oid":17,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-largeobject.html","source_path":"sources/postgresql/14/catalog-pg-largeobject.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_largeobject.h","definition_source_path":"sources/postgresql/14/source/pg_largeobject.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2613,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_largeobject holds the data making up “large objects”. A large object is identified by an OID assigned when it is created. Each large object is broken into segments or “pages” small enough to be conveniently stored as rows in pg_largeobject. The amount of data per page is defined to be LOBLKSIZE (which is currently BLCKSZ/4, or typically 2 kB).\n\nPrior to PostgreSQL 9.0, there was no permission structure associated with large objects. As a result, pg_largeobject was publicly readable and could be used to obtain the OIDs (and contents) of all large objects in the system. This is no longer the case; use pg_largeobject_metadata to obtain a list of large object OIDs.","columns":[{"name":"loid","type":"oid","description":"Identifier of the large object that includes this page","references":"pg_largeobject_metadata.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pageno","type":"integer","description":"Page number of this page within its large object (counting from zero)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"data","type":"bytea","description":"Actual data stored in the large object. This will never be more than LOBLKSIZE bytes and might be less.","hidden":false,"type_oid":17,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-largeobject.html","source_path":"sources/postgresql/15/catalog-pg-largeobject.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_largeobject.h","definition_source_path":"sources/postgresql/15/source/pg_largeobject.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2613,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_largeobject holds the data making up “large objects”. A large object is identified by an OID assigned when it is created. Each large object is broken into segments or “pages” small enough to be conveniently stored as rows in pg_largeobject. The amount of data per page is defined to be LOBLKSIZE (which is currently BLCKSZ/4, or typically 2 kB).\n\nPrior to PostgreSQL 9.0, there was no permission structure associated with large objects. As a result, pg_largeobject was publicly readable and could be used to obtain the OIDs (and contents) of all large objects in the system. This is no longer the case; use pg_largeobject_metadata to obtain a list of large object OIDs.","columns":[{"name":"loid","type":"oid","description":"Identifier of the large object that includes this page","references":"pg_largeobject_metadata.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pageno","type":"integer","description":"Page number of this page within its large object (counting from zero)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"data","type":"bytea","description":"Actual data stored in the large object. This will never be more than LOBLKSIZE bytes and might be less.","hidden":false,"type_oid":17,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-largeobject.html","source_path":"sources/postgresql/16/catalog-pg-largeobject.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_largeobject.h","definition_source_path":"sources/postgresql/16/source/pg_largeobject.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2613,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_largeobject holds the data making up “large objects”. A large object is identified by an OID assigned when it is created. Each large object is broken into segments or “pages” small enough to be conveniently stored as rows in pg_largeobject. The amount of data per page is defined to be LOBLKSIZE (which is currently BLCKSZ/4, or typically 2 kB).\n\nPrior to PostgreSQL 9.0, there was no permission structure associated with large objects. As a result, pg_largeobject was publicly readable and could be used to obtain the OIDs (and contents) of all large objects in the system. This is no longer the case; use pg_largeobject_metadata to obtain a list of large object OIDs.","columns":[{"name":"loid","type":"oid","description":"Identifier of the large object that includes this page","references":"pg_largeobject_metadata.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pageno","type":"integer","description":"Page number of this page within its large object (counting from zero)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"data","type":"bytea","description":"Actual data stored in the large object. This will never be more than LOBLKSIZE bytes and might be less.","hidden":false,"type_oid":17,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-largeobject.html","source_path":"sources/postgresql/17/catalog-pg-largeobject.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_largeobject.h","definition_source_path":"sources/postgresql/17/source/pg_largeobject.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2613,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_largeobject holds the data making up “large objects”. A large object is identified by an OID assigned when it is created. Each large object is broken into segments or “pages” small enough to be conveniently stored as rows in pg_largeobject. The amount of data per page is defined to be LOBLKSIZE (which is currently BLCKSZ/4, or typically 2 kB).\n\nPrior to PostgreSQL 9.0, there was no permission structure associated with large objects. As a result, pg_largeobject was publicly readable and could be used to obtain the OIDs (and contents) of all large objects in the system. This is no longer the case; use pg_largeobject_metadata to obtain a list of large object OIDs.","columns":[{"name":"loid","type":"oid","description":"Identifier of the large object that includes this page","references":"pg_largeobject_metadata.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pageno","type":"integer","description":"Page number of this page within its large object (counting from zero)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"data","type":"bytea","description":"Actual data stored in the large object. This will never be more than LOBLKSIZE bytes and might be less.","hidden":false,"type_oid":17,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-largeobject.html","source_path":"sources/postgresql/18/catalog-pg-largeobject.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_largeobject.h","definition_source_path":"sources/postgresql/18/source/pg_largeobject.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2613,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_largeobject holds the data making up “large objects”. A large object is identified by an OID assigned when it is created. Each large object is broken into segments or “pages” small enough to be conveniently stored as rows in pg_largeobject. The amount of data per page is defined to be LOBLKSIZE (which is currently BLCKSZ/4, or typically 2 kB).\n\nPrior to PostgreSQL 9.0, there was no permission structure associated with large objects. As a result, pg_largeobject was publicly readable and could be used to obtain the OIDs (and contents) of all large objects in the system. This is no longer the case; use pg_largeobject_metadata to obtain a list of large object OIDs.","columns":[{"name":"loid","type":"oid","description":"Identifier of the large object that includes this page","references":"pg_largeobject_metadata.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pageno","type":"integer","description":"Page number of this page within its large object (counting from zero)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"data","type":"bytea","description":"Actual data stored in the large object. This will never be more than LOBLKSIZE bytes and might be less.","hidden":false,"type_oid":17,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-largeobject.html","source_path":"sources/postgresql/19/catalog-pg-largeobject.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_largeobject.h","definition_source_path":"sources/postgresql/19/source/pg_largeobject.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2613,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[{"name":"data","attribute":"not_null","from":false,"to":true}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_largeobject_metadata","kind":"catalog","summary":"metadata for large objects","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_largeobject_metadata holds metadata associated with large objects. The actual large object data is stored in pg_largeobject.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_largeobject_metadata.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomowner","type":"oid","description":"Owner of the large object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":2,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-largeobject-metadata.html","source_path":"sources/postgresql/9.0/catalog-pg-largeobject-metadata.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_largeobject_metadata.h","definition_source_path":"sources/postgresql/9.0/source/pg_largeobject_metadata.h","source_column_count":3,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2995,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_largeobject_metadata holds metadata associated with large objects. The actual large object data is stored in pg_largeobject.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_largeobject_metadata.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomowner","type":"oid","description":"Owner of the large object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":2,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-largeobject-metadata.html","source_path":"sources/postgresql/9.1/catalog-pg-largeobject-metadata.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_largeobject_metadata.h","definition_source_path":"sources/postgresql/9.1/source/pg_largeobject_metadata.h","source_column_count":3,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2995,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_largeobject_metadata holds metadata associated with large objects. The actual large object data is stored in pg_largeobject.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_largeobject_metadata.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomowner","type":"oid","description":"Owner of the large object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":2,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-largeobject-metadata.html","source_path":"sources/postgresql/9.2/catalog-pg-largeobject-metadata.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_largeobject_metadata.h","definition_source_path":"sources/postgresql/9.2/source/pg_largeobject_metadata.h","source_column_count":3,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2995,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_largeobject_metadata holds metadata associated with large objects. The actual large object data is stored in pg_largeobject.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomowner","type":"oid","description":"Owner of the large object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":2,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-largeobject-metadata.html","source_path":"sources/postgresql/9.3/catalog-pg-largeobject-metadata.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_largeobject_metadata.h","definition_source_path":"sources/postgresql/9.3/source/pg_largeobject_metadata.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2995,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_largeobject_metadata holds metadata associated with large objects. The actual large object data is stored in pg_largeobject.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomowner","type":"oid","description":"Owner of the large object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":2,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-largeobject-metadata.html","source_path":"sources/postgresql/9.4/catalog-pg-largeobject-metadata.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_largeobject_metadata.h","definition_source_path":"sources/postgresql/9.4/source/pg_largeobject_metadata.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2995,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_largeobject_metadata holds metadata associated with large objects. The actual large object data is stored in pg_largeobject.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomowner","type":"oid","description":"Owner of the large object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":2,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-largeobject-metadata.html","source_path":"sources/postgresql/9.5/catalog-pg-largeobject-metadata.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_largeobject_metadata.h","definition_source_path":"sources/postgresql/9.5/source/pg_largeobject_metadata.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2995,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_largeobject_metadata holds metadata associated with large objects. The actual large object data is stored in pg_largeobject.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomowner","type":"oid","description":"Owner of the large object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":2,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-largeobject-metadata.html","source_path":"sources/postgresql/9.6/catalog-pg-largeobject-metadata.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_largeobject_metadata.h","definition_source_path":"sources/postgresql/9.6/source/pg_largeobject_metadata.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2995,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_largeobject_metadata holds metadata associated with large objects. The actual large object data is stored in pg_largeobject.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomowner","type":"oid","description":"Owner of the large object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":2,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-largeobject-metadata.html","source_path":"sources/postgresql/10/catalog-pg-largeobject-metadata.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_largeobject_metadata.h","definition_source_path":"sources/postgresql/10/source/pg_largeobject_metadata.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2995,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_largeobject_metadata holds metadata associated with large objects. The actual large object data is stored in pg_largeobject.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomowner","type":"oid","description":"Owner of the large object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":2,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-largeobject-metadata.html","source_path":"sources/postgresql/11/catalog-pg-largeobject-metadata.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_largeobject_metadata.h","definition_source_path":"sources/postgresql/11/source/pg_largeobject_metadata.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2995,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_largeobject_metadata holds metadata associated with large objects. The actual large object data is stored in pg_largeobject.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomowner","type":"oid","description":"Owner of the large object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-largeobject-metadata.html","source_path":"sources/postgresql/12/catalog-pg-largeobject-metadata.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_largeobject_metadata.h","definition_source_path":"sources/postgresql/12/source/pg_largeobject_metadata.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2995,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_largeobject_metadata holds metadata associated with large objects. The actual large object data is stored in pg_largeobject.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomowner","type":"oid","description":"Owner of the large object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-largeobject-metadata.html","source_path":"sources/postgresql/13/catalog-pg-largeobject-metadata.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_largeobject_metadata.h","definition_source_path":"sources/postgresql/13/source/pg_largeobject_metadata.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2995,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_largeobject_metadata holds metadata associated with large objects. The actual large object data is stored in pg_largeobject.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomowner","type":"oid","description":"Owner of the large object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-largeobject-metadata.html","source_path":"sources/postgresql/14/catalog-pg-largeobject-metadata.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_largeobject_metadata.h","definition_source_path":"sources/postgresql/14/source/pg_largeobject_metadata.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2995,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_largeobject_metadata holds metadata associated with large objects. The actual large object data is stored in pg_largeobject.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomowner","type":"oid","description":"Owner of the large object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-largeobject-metadata.html","source_path":"sources/postgresql/15/catalog-pg-largeobject-metadata.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_largeobject_metadata.h","definition_source_path":"sources/postgresql/15/source/pg_largeobject_metadata.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2995,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_largeobject_metadata holds metadata associated with large objects. The actual large object data is stored in pg_largeobject.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomowner","type":"oid","description":"Owner of the large object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-largeobject-metadata.html","source_path":"sources/postgresql/16/catalog-pg-largeobject-metadata.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_largeobject_metadata.h","definition_source_path":"sources/postgresql/16/source/pg_largeobject_metadata.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2995,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_largeobject_metadata holds metadata associated with large objects. The actual large object data is stored in pg_largeobject.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomowner","type":"oid","description":"Owner of the large object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomacl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-largeobject-metadata.html","source_path":"sources/postgresql/17/catalog-pg-largeobject-metadata.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_largeobject_metadata.h","definition_source_path":"sources/postgresql/17/source/pg_largeobject_metadata.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2995,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_largeobject_metadata holds metadata associated with large objects. The actual large object data is stored in pg_largeobject.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomowner","type":"oid","description":"Owner of the large object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomacl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-largeobject-metadata.html","source_path":"sources/postgresql/18/catalog-pg-largeobject-metadata.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_largeobject_metadata.h","definition_source_path":"sources/postgresql/18/source/pg_largeobject_metadata.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2995,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_largeobject_metadata holds metadata associated with large objects. The actual large object data is stored in pg_largeobject.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomowner","type":"oid","description":"Owner of the large object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"lomacl","type":"aclitem[]","description":"Access privileges; see Section 5.9 for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-largeobject-metadata.html","source_path":"sources/postgresql/19/catalog-pg-largeobject-metadata.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_largeobject_metadata.h","definition_source_path":"sources/postgresql/19/source/pg_largeobject_metadata.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2995,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"lomacl","from":"Access privileges; see GRANT and REVOKE for details","to":"Access privileges; see Section 5.7 for details"},{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"lomacl","from":"Access privileges; see Section 5.7 for details","to":"Access privileges; see Section 5.8 for details"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"lomacl","from":"Access privileges; see Section 5.8 for details","to":"Access privileges; see Section 5.9 for details"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_locks","kind":"view","summary":"The view pg_locks provides access to information about the locks held by active processes within the database server. See Chapter 13 for more discussion of locking.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The view pg_locks provides access to information about the locks held by open transactions within the database server. See Chapter 13 for more discussion of locking.\n\npg_locks contains one row per active lockable object, requested lock mode, and relevant transaction. Thus, the same lockable object might appear many times, if multiple transactions are holding or waiting for locks on it. However, an object that currently has no locks on it will not appear at all.\n\nThere are several distinct types of lockable objects: whole relations (e.g., tables), individual pages of relations, individual tuples of relations, transaction IDs (both virtual and permanent IDs), and general database objects (identified by class OID and object OID, in the same way as in pg_description or pg_depend). Also, the right to extend a relation is represented as a separate lockable object.","columns":[{"name":"locktype","type":"text","description":"Type of the lockable object: relation, extend, page, tuple, transactionid, virtualxid, object, userlock, or advisory","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"oid","description":"OID of the database in which the object exists, or zero if the object is a shared object, or null if the object is a transaction ID","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relation","type":"oid","description":"OID of the relation, or null if the object is not a relation or part of a relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"page","type":"integer","description":"Page number within the relation, or null if the object is not a tuple or relation page","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuple","type":"smallint","description":"Tuple number within the page, or null if the object is not a tuple","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualxid","type":"text","description":"Virtual ID of a transaction, or null if the object is not a virtual transaction ID","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"transactionid","type":"xid","description":"ID of a transaction, or null if the object is not a transaction ID","hidden":false,"type_oid":28,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classid","type":"oid","description":"OID of the system catalog containing the object, or null if the object is not a general database object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objid","type":"oid","description":"OID of the object within its system catalog, or null if the object is not a general database object","references":"any OID column","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"smallint","description":"For a table column, this is the column number (the classid and objid refer to the table itself). For all other object types, this column is zero. Null if the object is not a general database object","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualtransaction","type":"text","description":"Virtual ID of the transaction that is holding or awaiting this lock","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the server process holding or awaiting this lock. Null if the lock is held by a prepared transaction.","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mode","type":"text","description":"Name of the lock mode held or desired by this process (see Section 13.3.1)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"granted","type":"boolean","description":"True if lock is held, false if lock is awaited","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/view-pg-locks.html","source_path":"sources/postgresql/9.0/view-pg-locks.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10985,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The view pg_locks provides access to information about the locks held by open transactions within the database server. See Chapter 13 for more discussion of locking.\n\npg_locks contains one row per active lockable object, requested lock mode, and relevant transaction. Thus, the same lockable object might appear many times, if multiple transactions are holding or waiting for locks on it. However, an object that currently has no locks on it will not appear at all.\n\nThere are several distinct types of lockable objects: whole relations (e.g., tables), individual pages of relations, individual tuples of relations, transaction IDs (both virtual and permanent IDs), and general database objects (identified by class OID and object OID, in the same way as in pg_description or pg_depend). Also, the right to extend a relation is represented as a separate lockable object. Also, \"advisory\" locks can be taken on numbers that have user-defined meanings.","columns":[{"name":"locktype","type":"text","description":"Type of the lockable object: relation, extend, page, tuple, transactionid, virtualxid, object, userlock, or advisory","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"oid","description":"OID of the database in which the object exists, or zero if the object is a shared object, or null if the object is a transaction ID","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relation","type":"oid","description":"OID of the relation, or null if the object is not a relation or part of a relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"page","type":"integer","description":"Page number within the relation, or null if the object is not a tuple or relation page","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuple","type":"smallint","description":"Tuple number within the page, or null if the object is not a tuple","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualxid","type":"text","description":"Virtual ID of a transaction, or null if the object is not a virtual transaction ID","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"transactionid","type":"xid","description":"ID of a transaction, or null if the object is not a transaction ID","hidden":false,"type_oid":28,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classid","type":"oid","description":"OID of the system catalog containing the object, or null if the object is not a general database object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objid","type":"oid","description":"OID of the object within its system catalog, or null if the object is not a general database object","references":"any OID column","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"smallint","description":"Column number targeted by the lock (the classid and objid refer to the table itself), or zero if the target is some other general database object, or null if the target is not a general database object","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualtransaction","type":"text","description":"Virtual ID of the transaction that is holding or awaiting this lock","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the server process holding or awaiting this lock, or null if the lock is held by a prepared transaction","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mode","type":"text","description":"Name of the lock mode held or desired by this process (see Section 13.3.1 and Section 13.2.3)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"granted","type":"boolean","description":"True if lock is held, false if lock is awaited","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/view-pg-locks.html","source_path":"sources/postgresql/9.1/view-pg-locks.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11000,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The view pg_locks provides access to information about the locks held by open transactions within the database server. See Chapter 13 for more discussion of locking.\n\npg_locks contains one row per active lockable object, requested lock mode, and relevant transaction. Thus, the same lockable object might appear many times, if multiple transactions are holding or waiting for locks on it. However, an object that currently has no locks on it will not appear at all.\n\nThere are several distinct types of lockable objects: whole relations (e.g., tables), individual pages of relations, individual tuples of relations, transaction IDs (both virtual and permanent IDs), and general database objects (identified by class OID and object OID, in the same way as in pg_description or pg_depend). Also, the right to extend a relation is represented as a separate lockable object. Also, \"advisory\" locks can be taken on numbers that have user-defined meanings.","columns":[{"name":"locktype","type":"text","description":"Type of the lockable object: relation, extend, page, tuple, transactionid, virtualxid, object, userlock, or advisory","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"oid","description":"OID of the database in which the lock target exists, or zero if the target is a shared object, or null if the target is a transaction ID","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relation","type":"oid","description":"OID of the relation targeted by the lock, or null if the target is not a relation or part of a relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"page","type":"integer","description":"Page number targeted by the lock within the relation, or null if the target is not a relation page or tuple","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuple","type":"smallint","description":"Tuple number targeted by the lock within the page, or null if the target is not a tuple","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualxid","type":"text","description":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"transactionid","type":"xid","description":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID","hidden":false,"type_oid":28,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classid","type":"oid","description":"OID of the system catalog containing the lock target, or null if the target is not a general database object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objid","type":"oid","description":"OID of the lock target within its system catalog, or null if the target is not a general database object","references":"any OID column","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"smallint","description":"Column number targeted by the lock (the classid and objid refer to the table itself), or zero if the target is some other general database object, or null if the target is not a general database object","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualtransaction","type":"text","description":"Virtual ID of the transaction that is holding or awaiting this lock","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the server process holding or awaiting this lock, or null if the lock is held by a prepared transaction","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mode","type":"text","description":"Name of the lock mode held or desired by this process (see Section 13.3.1 and Section 13.2.3)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"granted","type":"boolean","description":"True if lock is held, false if lock is awaited","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fastpath","type":"boolean","description":"True if lock was taken via fast path, false if taken via main lock table","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/view-pg-locks.html","source_path":"sources/postgresql/9.2/view-pg-locks.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11069,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The view pg_locks provides access to information about the locks held by open transactions within the database server. See Chapter 13 for more discussion of locking.\n\npg_locks contains one row per active lockable object, requested lock mode, and relevant transaction. Thus, the same lockable object might appear many times, if multiple transactions are holding or waiting for locks on it. However, an object that currently has no locks on it will not appear at all.\n\nThere are several distinct types of lockable objects: whole relations (e.g., tables), individual pages of relations, individual tuples of relations, transaction IDs (both virtual and permanent IDs), and general database objects (identified by class OID and object OID, in the same way as in pg_description or pg_depend). Also, the right to extend a relation is represented as a separate lockable object. Also, \"advisory\" locks can be taken on numbers that have user-defined meanings.","columns":[{"name":"locktype","type":"text","description":"Type of the lockable object: relation, extend, page, tuple, transactionid, virtualxid, object, userlock, or advisory","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"oid","description":"OID of the database in which the lock target exists, or zero if the target is a shared object, or null if the target is a transaction ID","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relation","type":"oid","description":"OID of the relation targeted by the lock, or null if the target is not a relation or part of a relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"page","type":"integer","description":"Page number targeted by the lock within the relation, or null if the target is not a relation page or tuple","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuple","type":"smallint","description":"Tuple number targeted by the lock within the page, or null if the target is not a tuple","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualxid","type":"text","description":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"transactionid","type":"xid","description":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID","hidden":false,"type_oid":28,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classid","type":"oid","description":"OID of the system catalog containing the lock target, or null if the target is not a general database object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objid","type":"oid","description":"OID of the lock target within its system catalog, or null if the target is not a general database object","references":"any OID column","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"smallint","description":"Column number targeted by the lock (the classid and objid refer to the table itself), or zero if the target is some other general database object, or null if the target is not a general database object","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualtransaction","type":"text","description":"Virtual ID of the transaction that is holding or awaiting this lock","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the server process holding or awaiting this lock, or null if the lock is held by a prepared transaction","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mode","type":"text","description":"Name of the lock mode held or desired by this process (see Section 13.3.1 and Section 13.2.3)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"granted","type":"boolean","description":"True if lock is held, false if lock is awaited","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fastpath","type":"boolean","description":"True if lock was taken via fast path, false if taken via main lock table","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-locks.html","source_path":"sources/postgresql/9.3/view-pg-locks.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11090,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The view pg_locks provides access to information about the locks held by open transactions within the database server. See Chapter 13 for more discussion of locking.\n\npg_locks contains one row per active lockable object, requested lock mode, and relevant transaction. Thus, the same lockable object might appear many times, if multiple transactions are holding or waiting for locks on it. However, an object that currently has no locks on it will not appear at all.\n\nThere are several distinct types of lockable objects: whole relations (e.g., tables), individual pages of relations, individual tuples of relations, transaction IDs (both virtual and permanent IDs), and general database objects (identified by class OID and object OID, in the same way as in pg_description or pg_depend). Also, the right to extend a relation is represented as a separate lockable object. Also, \"advisory\" locks can be taken on numbers that have user-defined meanings.","columns":[{"name":"locktype","type":"text","description":"Type of the lockable object: relation, extend, page, tuple, transactionid, virtualxid, object, userlock, or advisory","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"oid","description":"OID of the database in which the lock target exists, or zero if the target is a shared object, or null if the target is a transaction ID","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relation","type":"oid","description":"OID of the relation targeted by the lock, or null if the target is not a relation or part of a relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"page","type":"integer","description":"Page number targeted by the lock within the relation, or null if the target is not a relation page or tuple","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuple","type":"smallint","description":"Tuple number targeted by the lock within the page, or null if the target is not a tuple","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualxid","type":"text","description":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"transactionid","type":"xid","description":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID","hidden":false,"type_oid":28,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classid","type":"oid","description":"OID of the system catalog containing the lock target, or null if the target is not a general database object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objid","type":"oid","description":"OID of the lock target within its system catalog, or null if the target is not a general database object","references":"any OID column","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"smallint","description":"Column number targeted by the lock (the classid and objid refer to the table itself), or zero if the target is some other general database object, or null if the target is not a general database object","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualtransaction","type":"text","description":"Virtual ID of the transaction that is holding or awaiting this lock","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the server process holding or awaiting this lock, or null if the lock is held by a prepared transaction","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mode","type":"text","description":"Name of the lock mode held or desired by this process (see Section 13.3.1 and Section 13.2.3)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"granted","type":"boolean","description":"True if lock is held, false if lock is awaited","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fastpath","type":"boolean","description":"True if lock was taken via fast path, false if taken via main lock table","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-locks.html","source_path":"sources/postgresql/9.4/view-pg-locks.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11187,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The view pg_locks provides access to information about the locks held by open transactions within the database server. See Chapter 13 for more discussion of locking.\n\npg_locks contains one row per active lockable object, requested lock mode, and relevant transaction. Thus, the same lockable object might appear many times, if multiple transactions are holding or waiting for locks on it. However, an object that currently has no locks on it will not appear at all.\n\nThere are several distinct types of lockable objects: whole relations (e.g., tables), individual pages of relations, individual tuples of relations, transaction IDs (both virtual and permanent IDs), and general database objects (identified by class OID and object OID, in the same way as in pg_description or pg_depend). Also, the right to extend a relation is represented as a separate lockable object, as is the right to update pg_database.datfrozenxid. Also, \"advisory\" locks can be taken on numbers that have user-defined meanings.","columns":[{"name":"locktype","type":"text","description":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, object, userlock, or advisory","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"oid","description":"OID of the database in which the lock target exists, or zero if the target is a shared object, or null if the target is a transaction ID","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relation","type":"oid","description":"OID of the relation targeted by the lock, or null if the target is not a relation or part of a relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"page","type":"integer","description":"Page number targeted by the lock within the relation, or null if the target is not a relation page or tuple","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuple","type":"smallint","description":"Tuple number targeted by the lock within the page, or null if the target is not a tuple","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualxid","type":"text","description":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"transactionid","type":"xid","description":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID","hidden":false,"type_oid":28,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classid","type":"oid","description":"OID of the system catalog containing the lock target, or null if the target is not a general database object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objid","type":"oid","description":"OID of the lock target within its system catalog, or null if the target is not a general database object","references":"any OID column","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"smallint","description":"Column number targeted by the lock (the classid and objid refer to the table itself), or zero if the target is some other general database object, or null if the target is not a general database object","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualtransaction","type":"text","description":"Virtual ID of the transaction that is holding or awaiting this lock","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the server process holding or awaiting this lock, or null if the lock is held by a prepared transaction","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mode","type":"text","description":"Name of the lock mode held or desired by this process (see Section 13.3.1 and Section 13.2.3)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"granted","type":"boolean","description":"True if lock is held, false if lock is awaited","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fastpath","type":"boolean","description":"True if lock was taken via fast path, false if taken via main lock table","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-locks.html","source_path":"sources/postgresql/9.5/view-pg-locks.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11673,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The view pg_locks provides access to information about the locks held by active processes within the database server. See Chapter 13 for more discussion of locking.\n\npg_locks contains one row per active lockable object, requested lock mode, and relevant process. Thus, the same lockable object might appear many times, if multiple processes are holding or waiting for locks on it. However, an object that currently has no locks on it will not appear at all.\n\nThere are several distinct types of lockable objects: whole relations (e.g., tables), individual pages of relations, individual tuples of relations, transaction IDs (both virtual and permanent IDs), and general database objects (identified by class OID and object OID, in the same way as in pg_description or pg_depend). Also, the right to extend a relation is represented as a separate lockable object, as is the right to update pg_database.datfrozenxid. Also, \"advisory\" locks can be taken on numbers that have user-defined meanings.","columns":[{"name":"locktype","type":"text","description":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, object, userlock, or advisory","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"oid","description":"OID of the database in which the lock target exists, or zero if the target is a shared object, or null if the target is a transaction ID","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relation","type":"oid","description":"OID of the relation targeted by the lock, or null if the target is not a relation or part of a relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"page","type":"integer","description":"Page number targeted by the lock within the relation, or null if the target is not a relation page or tuple","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuple","type":"smallint","description":"Tuple number targeted by the lock within the page, or null if the target is not a tuple","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualxid","type":"text","description":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"transactionid","type":"xid","description":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID","hidden":false,"type_oid":28,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classid","type":"oid","description":"OID of the system catalog containing the lock target, or null if the target is not a general database object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objid","type":"oid","description":"OID of the lock target within its system catalog, or null if the target is not a general database object","references":"any OID column","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"smallint","description":"Column number targeted by the lock (the classid and objid refer to the table itself), or zero if the target is some other general database object, or null if the target is not a general database object","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualtransaction","type":"text","description":"Virtual ID of the transaction that is holding or awaiting this lock","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the server process holding or awaiting this lock, or null if the lock is held by a prepared transaction","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mode","type":"text","description":"Name of the lock mode held or desired by this process (see Section 13.3.1 and Section 13.2.3)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"granted","type":"boolean","description":"True if lock is held, false if lock is awaited","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fastpath","type":"boolean","description":"True if lock was taken via fast path, false if taken via main lock table","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-locks.html","source_path":"sources/postgresql/9.6/view-pg-locks.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11695,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The view pg_locks provides access to information about the locks held by active processes within the database server. See Chapter 13 for more discussion of locking.\n\npg_locks contains one row per active lockable object, requested lock mode, and relevant process. Thus, the same lockable object might appear many times, if multiple processes are holding or waiting for locks on it. However, an object that currently has no locks on it will not appear at all.\n\nThere are several distinct types of lockable objects: whole relations (e.g., tables), individual pages of relations, individual tuples of relations, transaction IDs (both virtual and permanent IDs), and general database objects (identified by class OID and object OID, in the same way as in pg_description or pg_depend). Also, the right to extend a relation is represented as a separate lockable object, as is the right to update pg_database.datfrozenxid. Also, “advisory” locks can be taken on numbers that have user-defined meanings.","columns":[{"name":"locktype","type":"text","description":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, object, userlock, or advisory","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"oid","description":"OID of the database in which the lock target exists, or zero if the target is a shared object, or null if the target is a transaction ID","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relation","type":"oid","description":"OID of the relation targeted by the lock, or null if the target is not a relation or part of a relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"page","type":"integer","description":"Page number targeted by the lock within the relation, or null if the target is not a relation page or tuple","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuple","type":"smallint","description":"Tuple number targeted by the lock within the page, or null if the target is not a tuple","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualxid","type":"text","description":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"transactionid","type":"xid","description":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID","hidden":false,"type_oid":28,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classid","type":"oid","description":"OID of the system catalog containing the lock target, or null if the target is not a general database object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objid","type":"oid","description":"OID of the lock target within its system catalog, or null if the target is not a general database object","references":"any OID column","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"smallint","description":"Column number targeted by the lock (the classid and objid refer to the table itself), or zero if the target is some other general database object, or null if the target is not a general database object","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualtransaction","type":"text","description":"Virtual ID of the transaction that is holding or awaiting this lock","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the server process holding or awaiting this lock, or null if the lock is held by a prepared transaction","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mode","type":"text","description":"Name of the lock mode held or desired by this process (see Section 13.3.1 and Section 13.2.3)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"granted","type":"boolean","description":"True if lock is held, false if lock is awaited","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fastpath","type":"boolean","description":"True if lock was taken via fast path, false if taken via main lock table","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-locks.html","source_path":"sources/postgresql/10/view-pg-locks.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11577,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_locks provides access to information about the locks held by active processes within the database server. See Chapter 13 for more discussion of locking.\n\npg_locks contains one row per active lockable object, requested lock mode, and relevant process. Thus, the same lockable object might appear many times, if multiple processes are holding or waiting for locks on it. However, an object that currently has no locks on it will not appear at all.\n\nThere are several distinct types of lockable objects: whole relations (e.g., tables), individual pages of relations, individual tuples of relations, transaction IDs (both virtual and permanent IDs), and general database objects (identified by class OID and object OID, in the same way as in pg_description or pg_depend). Also, the right to extend a relation is represented as a separate lockable object, as is the right to update pg_database.datfrozenxid. Also, “advisory” locks can be taken on numbers that have user-defined meanings.","columns":[{"name":"locktype","type":"text","description":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, object, userlock, or advisory","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"oid","description":"OID of the database in which the lock target exists, or zero if the target is a shared object, or null if the target is a transaction ID","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relation","type":"oid","description":"OID of the relation targeted by the lock, or null if the target is not a relation or part of a relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"page","type":"integer","description":"Page number targeted by the lock within the relation, or null if the target is not a relation page or tuple","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuple","type":"smallint","description":"Tuple number targeted by the lock within the page, or null if the target is not a tuple","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualxid","type":"text","description":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"transactionid","type":"xid","description":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID","hidden":false,"type_oid":28,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classid","type":"oid","description":"OID of the system catalog containing the lock target, or null if the target is not a general database object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objid","type":"oid","description":"OID of the lock target within its system catalog, or null if the target is not a general database object","references":"any OID column","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"smallint","description":"Column number targeted by the lock (the classid and objid refer to the table itself), or zero if the target is some other general database object, or null if the target is not a general database object","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualtransaction","type":"text","description":"Virtual ID of the transaction that is holding or awaiting this lock","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the server process holding or awaiting this lock, or null if the lock is held by a prepared transaction","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mode","type":"text","description":"Name of the lock mode held or desired by this process (see Section 13.3.1 and Section 13.2.3)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"granted","type":"boolean","description":"True if lock is held, false if lock is awaited","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fastpath","type":"boolean","description":"True if lock was taken via fast path, false if taken via main lock table","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-locks.html","source_path":"sources/postgresql/11/view-pg-locks.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11645,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_locks provides access to information about the locks held by active processes within the database server. See Chapter 13 for more discussion of locking.\n\npg_locks contains one row per active lockable object, requested lock mode, and relevant process. Thus, the same lockable object might appear many times, if multiple processes are holding or waiting for locks on it. However, an object that currently has no locks on it will not appear at all.\n\nThere are several distinct types of lockable objects: whole relations (e.g., tables), individual pages of relations, individual tuples of relations, transaction IDs (both virtual and permanent IDs), and general database objects (identified by class OID and object OID, in the same way as in pg_description or pg_depend). Also, the right to extend a relation is represented as a separate lockable object, as is the right to update pg_database.datfrozenxid. Also, “advisory” locks can be taken on numbers that have user-defined meanings.","columns":[{"name":"locktype","type":"text","description":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, object, userlock, or advisory","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"oid","description":"OID of the database in which the lock target exists, or zero if the target is a shared object, or null if the target is a transaction ID","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relation","type":"oid","description":"OID of the relation targeted by the lock, or null if the target is not a relation or part of a relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"page","type":"integer","description":"Page number targeted by the lock within the relation, or null if the target is not a relation page or tuple","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuple","type":"smallint","description":"Tuple number targeted by the lock within the page, or null if the target is not a tuple","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualxid","type":"text","description":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"transactionid","type":"xid","description":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID","hidden":false,"type_oid":28,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classid","type":"oid","description":"OID of the system catalog containing the lock target, or null if the target is not a general database object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objid","type":"oid","description":"OID of the lock target within its system catalog, or null if the target is not a general database object","references":"any OID column","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"smallint","description":"Column number targeted by the lock (the classid and objid refer to the table itself), or zero if the target is some other general database object, or null if the target is not a general database object","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualtransaction","type":"text","description":"Virtual ID of the transaction that is holding or awaiting this lock","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the server process holding or awaiting this lock, or null if the lock is held by a prepared transaction","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mode","type":"text","description":"Name of the lock mode held or desired by this process (see Section 13.3.1 and Section 13.2.3)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"granted","type":"boolean","description":"True if lock is held, false if lock is awaited","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fastpath","type":"boolean","description":"True if lock was taken via fast path, false if taken via main lock table","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-locks.html","source_path":"sources/postgresql/12/view-pg-locks.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12143,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_locks provides access to information about the locks held by active processes within the database server. See Chapter 13 for more discussion of locking.\n\npg_locks contains one row per active lockable object, requested lock mode, and relevant process. Thus, the same lockable object might appear many times, if multiple processes are holding or waiting for locks on it. However, an object that currently has no locks on it will not appear at all.\n\nThere are several distinct types of lockable objects: whole relations (e.g., tables), individual pages of relations, individual tuples of relations, transaction IDs (both virtual and permanent IDs), and general database objects (identified by class OID and object OID, in the same way as in pg_description or pg_depend). Also, the right to extend a relation is represented as a separate lockable object, as is the right to update pg_database.datfrozenxid. Also, “advisory” locks can be taken on numbers that have user-defined meanings.","columns":[{"name":"locktype","type":"text","description":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, spectoken, object, userlock, or advisory. (See also Table 27.11.)","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"oid","description":"OID of the database in which the lock target exists, or zero if the target is a shared object, or null if the target is a transaction ID","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relation","type":"oid","description":"OID of the relation targeted by the lock, or null if the target is not a relation or part of a relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"page","type":"integer","description":"Page number targeted by the lock within the relation, or null if the target is not a relation page or tuple","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuple","type":"smallint","description":"Tuple number targeted by the lock within the page, or null if the target is not a tuple","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualxid","type":"text","description":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"transactionid","type":"xid","description":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID","hidden":false,"type_oid":28,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classid","type":"oid","description":"OID of the system catalog containing the lock target, or null if the target is not a general database object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objid","type":"oid","description":"OID of the lock target within its system catalog, or null if the target is not a general database object","references":"any OID column","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"smallint","description":"Column number targeted by the lock (the classid and objid refer to the table itself), or zero if the target is some other general database object, or null if the target is not a general database object","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualtransaction","type":"text","description":"Virtual ID of the transaction that is holding or awaiting this lock","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the server process holding or awaiting this lock, or null if the lock is held by a prepared transaction","documented_type":"int4","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mode","type":"text","description":"Name of the lock mode held or desired by this process (see Section 13.3.1 and Section 13.2.3)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"granted","type":"boolean","description":"True if lock is held, false if lock is awaited","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fastpath","type":"boolean","description":"True if lock was taken via fast path, false if taken via main lock table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-locks.html","source_path":"sources/postgresql/13/view-pg-locks.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12141,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_locks provides access to information about the locks held by active processes within the database server. See Chapter 13 for more discussion of locking.\n\npg_locks contains one row per active lockable object, requested lock mode, and relevant process. Thus, the same lockable object might appear many times, if multiple processes are holding or waiting for locks on it. However, an object that currently has no locks on it will not appear at all.\n\nThere are several distinct types of lockable objects: whole relations (e.g., tables), individual pages of relations, individual tuples of relations, transaction IDs (both virtual and permanent IDs), and general database objects (identified by class OID and object OID, in the same way as in pg_description or pg_depend). Also, the right to extend a relation is represented as a separate lockable object, as is the right to update pg_database.datfrozenxid. Also, “advisory” locks can be taken on numbers that have user-defined meanings.","columns":[{"name":"locktype","type":"text","description":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, spectoken, object, userlock, or advisory. (See also Table 28.11.)","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"oid","description":"OID of the database in which the lock target exists, or zero if the target is a shared object, or null if the target is a transaction ID","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relation","type":"oid","description":"OID of the relation targeted by the lock, or null if the target is not a relation or part of a relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"page","type":"integer","description":"Page number targeted by the lock within the relation, or null if the target is not a relation page or tuple","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuple","type":"smallint","description":"Tuple number targeted by the lock within the page, or null if the target is not a tuple","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualxid","type":"text","description":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"transactionid","type":"xid","description":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID","hidden":false,"type_oid":28,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classid","type":"oid","description":"OID of the system catalog containing the lock target, or null if the target is not a general database object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objid","type":"oid","description":"OID of the lock target within its system catalog, or null if the target is not a general database object","references":"any OID column","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"smallint","description":"Column number targeted by the lock (the classid and objid refer to the table itself), or zero if the target is some other general database object, or null if the target is not a general database object","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualtransaction","type":"text","description":"Virtual ID of the transaction that is holding or awaiting this lock","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the server process holding or awaiting this lock, or null if the lock is held by a prepared transaction","documented_type":"int4","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mode","type":"text","description":"Name of the lock mode held or desired by this process (see Section 13.3.1 and Section 13.2.3)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"granted","type":"boolean","description":"True if lock is held, false if lock is awaited","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fastpath","type":"boolean","description":"True if lock was taken via fast path, false if taken via main lock table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"waitstart","type":"timestamp with time zone","description":"Time when the server process started waiting for this lock, or null if the lock is held. Note that this can be null for a very short period of time after the wait started even though granted is false.","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-locks.html","source_path":"sources/postgresql/14/view-pg-locks.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12290,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_locks provides access to information about the locks held by active processes within the database server. See Chapter 13 for more discussion of locking.\n\npg_locks contains one row per active lockable object, requested lock mode, and relevant process. Thus, the same lockable object might appear many times, if multiple processes are holding or waiting for locks on it. However, an object that currently has no locks on it will not appear at all.\n\nThere are several distinct types of lockable objects: whole relations (e.g., tables), individual pages of relations, individual tuples of relations, transaction IDs (both virtual and permanent IDs), and general database objects (identified by class OID and object OID, in the same way as in pg_description or pg_depend). Also, the right to extend a relation is represented as a separate lockable object, as is the right to update pg_database.datfrozenxid. Also, “advisory” locks can be taken on numbers that have user-defined meanings.","columns":[{"name":"locktype","type":"text","description":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, spectoken, object, userlock, or advisory. (See also Table 28.11.)","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"oid","description":"OID of the database in which the lock target exists, or zero if the target is a shared object, or null if the target is a transaction ID","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relation","type":"oid","description":"OID of the relation targeted by the lock, or null if the target is not a relation or part of a relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"page","type":"integer","description":"Page number targeted by the lock within the relation, or null if the target is not a relation page or tuple","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuple","type":"smallint","description":"Tuple number targeted by the lock within the page, or null if the target is not a tuple","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualxid","type":"text","description":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"transactionid","type":"xid","description":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID","hidden":false,"type_oid":28,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classid","type":"oid","description":"OID of the system catalog containing the lock target, or null if the target is not a general database object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objid","type":"oid","description":"OID of the lock target within its system catalog, or null if the target is not a general database object","references":"any OID column","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"smallint","description":"Column number targeted by the lock (the classid and objid refer to the table itself), or zero if the target is some other general database object, or null if the target is not a general database object","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualtransaction","type":"text","description":"Virtual ID of the transaction that is holding or awaiting this lock","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the server process holding or awaiting this lock, or null if the lock is held by a prepared transaction","documented_type":"int4","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mode","type":"text","description":"Name of the lock mode held or desired by this process (see Section 13.3.1 and Section 13.2.3)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"granted","type":"boolean","description":"True if lock is held, false if lock is awaited","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fastpath","type":"boolean","description":"True if lock was taken via fast path, false if taken via main lock table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"waitstart","type":"timestamp with time zone","description":"Time when the server process started waiting for this lock, or null if the lock is held. Note that this can be null for a very short period of time after the wait started even though granted is false.","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-locks.html","source_path":"sources/postgresql/15/view-pg-locks.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12073,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_locks provides access to information about the locks held by active processes within the database server. See Chapter 13 for more discussion of locking.\n\npg_locks contains one row per active lockable object, requested lock mode, and relevant process. Thus, the same lockable object might appear many times, if multiple processes are holding or waiting for locks on it. However, an object that currently has no locks on it will not appear at all.\n\nThere are several distinct types of lockable objects: whole relations (e.g., tables), individual pages of relations, individual tuples of relations, transaction IDs (both virtual and permanent IDs), and general database objects (identified by class OID and object OID, in the same way as in pg_description or pg_depend). Also, the right to extend a relation is represented as a separate lockable object, as is the right to update pg_database.datfrozenxid. Also, “advisory” locks can be taken on numbers that have user-defined meanings.","columns":[{"name":"locktype","type":"text","description":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, spectoken, object, userlock, advisory, or applytransaction. (See also Table 28.11.)","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"oid","description":"OID of the database in which the lock target exists, or zero if the target is a shared object, or null if the target is a transaction ID","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relation","type":"oid","description":"OID of the relation targeted by the lock, or null if the target is not a relation or part of a relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"page","type":"integer","description":"Page number targeted by the lock within the relation, or null if the target is not a relation page or tuple","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuple","type":"smallint","description":"Tuple number targeted by the lock within the page, or null if the target is not a tuple","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualxid","type":"text","description":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID; see Chapter 74","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"transactionid","type":"xid","description":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID; Chapter 74","hidden":false,"type_oid":28,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classid","type":"oid","description":"OID of the system catalog containing the lock target, or null if the target is not a general database object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objid","type":"oid","description":"OID of the lock target within its system catalog, or null if the target is not a general database object","references":"any OID column","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"smallint","description":"Column number targeted by the lock (the classid and objid refer to the table itself), or zero if the target is some other general database object, or null if the target is not a general database object","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualtransaction","type":"text","description":"Virtual ID of the transaction that is holding or awaiting this lock","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the server process holding or awaiting this lock, or null if the lock is held by a prepared transaction","documented_type":"int4","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mode","type":"text","description":"Name of the lock mode held or desired by this process (see Section 13.3.1 and Section 13.2.3)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"granted","type":"boolean","description":"True if lock is held, false if lock is awaited","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fastpath","type":"boolean","description":"True if lock was taken via fast path, false if taken via main lock table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"waitstart","type":"timestamp with time zone","description":"Time when the server process started waiting for this lock, or null if the lock is held. Note that this can be null for a very short period of time after the wait started even though granted is false.","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-locks.html","source_path":"sources/postgresql/16/view-pg-locks.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12073,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_locks provides access to information about the locks held by active processes within the database server. See Chapter 13 for more discussion of locking.\n\npg_locks contains one row per active lockable object, requested lock mode, and relevant process. Thus, the same lockable object might appear many times, if multiple processes are holding or waiting for locks on it. However, an object that currently has no locks on it will not appear at all.\n\nThere are several distinct types of lockable objects: whole relations (e.g., tables), individual pages of relations, individual tuples of relations, transaction IDs (both virtual and permanent IDs), and general database objects (identified by class OID and object OID, in the same way as in pg_description or pg_depend). Also, the right to extend a relation is represented as a separate lockable object, as is the right to update pg_database.datfrozenxid. Also, “advisory” locks can be taken on numbers that have user-defined meanings.","columns":[{"name":"locktype","type":"text","description":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, spectoken, object, userlock, advisory, or applytransaction. (See also Table 27.11.)","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"oid","description":"OID of the database in which the lock target exists, or zero if the target is a shared object, or null if the target is a transaction ID","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relation","type":"oid","description":"OID of the relation targeted by the lock, or null if the target is not a relation or part of a relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"page","type":"integer","description":"Page number targeted by the lock within the relation, or null if the target is not a relation page or tuple","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuple","type":"smallint","description":"Tuple number targeted by the lock within the page, or null if the target is not a tuple","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualxid","type":"text","description":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID; see Chapter 66","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"transactionid","type":"xid","description":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID; Chapter 66","hidden":false,"type_oid":28,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classid","type":"oid","description":"OID of the system catalog containing the lock target, or null if the target is not a general database object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objid","type":"oid","description":"OID of the lock target within its system catalog, or null if the target is not a general database object","references":"any OID column","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"smallint","description":"Column number targeted by the lock (the classid and objid refer to the table itself), or zero if the target is some other general database object, or null if the target is not a general database object","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualtransaction","type":"text","description":"Virtual ID of the transaction that is holding or awaiting this lock","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the server process holding or awaiting this lock, or null if the lock is held by a prepared transaction","documented_type":"int4","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mode","type":"text","description":"Name of the lock mode held or desired by this process (see Section 13.3.1 and Section 13.2.3)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"granted","type":"boolean","description":"True if lock is held, false if lock is awaited","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fastpath","type":"boolean","description":"True if lock was taken via fast path, false if taken via main lock table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"waitstart","type":"timestamp with time zone","description":"Time when the server process started waiting for this lock, or null if the lock is held. Note that this can be null for a very short period of time after the wait started even though granted is false.","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-locks.html","source_path":"sources/postgresql/17/view-pg-locks.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12073,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_locks provides access to information about the locks held by active processes within the database server. See Chapter 13 for more discussion of locking.\n\npg_locks contains one row per active lockable object, requested lock mode, and relevant process. Thus, the same lockable object might appear many times, if multiple processes are holding or waiting for locks on it. However, an object that currently has no locks on it will not appear at all.\n\nThere are several distinct types of lockable objects: whole relations (e.g., tables), individual pages of relations, individual tuples of relations, transaction IDs (both virtual and permanent IDs), and general database objects (identified by class OID and object OID, in the same way as in pg_description or pg_depend). Also, the right to extend a relation is represented as a separate lockable object, as is the right to update pg_database.datfrozenxid. Also, “advisory” locks can be taken on numbers that have user-defined meanings.","columns":[{"name":"locktype","type":"text","description":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, spectoken, object, userlock, advisory, or applytransaction. (See also Table 27.11.)","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"oid","description":"OID of the database in which the lock target exists, or zero if the target is a shared object, or null if the target is a transaction ID","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relation","type":"oid","description":"OID of the relation targeted by the lock, or null if the target is not a relation or part of a relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"page","type":"integer","description":"Page number targeted by the lock within the relation, or null if the target is not a relation page or tuple","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuple","type":"smallint","description":"Tuple number targeted by the lock within the page, or null if the target is not a tuple","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualxid","type":"text","description":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID; see Chapter 67","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"transactionid","type":"xid","description":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID; Chapter 67","hidden":false,"type_oid":28,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classid","type":"oid","description":"OID of the system catalog containing the lock target, or null if the target is not a general database object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objid","type":"oid","description":"OID of the lock target within its system catalog, or null if the target is not a general database object","references":"any OID column","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"smallint","description":"Column number targeted by the lock (the classid and objid refer to the table itself), or zero if the target is some other general database object, or null if the target is not a general database object","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualtransaction","type":"text","description":"Virtual ID of the transaction that is holding or awaiting this lock","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the server process holding or awaiting this lock, or null if the lock is held by a prepared transaction","documented_type":"int4","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mode","type":"text","description":"Name of the lock mode held or desired by this process (see Section 13.3.1 and Section 13.2.3)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"granted","type":"boolean","description":"True if lock is held, false if lock is awaited","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fastpath","type":"boolean","description":"True if lock was taken via fast path, false if taken via main lock table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"waitstart","type":"timestamp with time zone","description":"Time when the server process started waiting for this lock, or null if the lock is held. Note that this can be null for a very short period of time after the wait started even though granted is false.","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-locks.html","source_path":"sources/postgresql/18/view-pg-locks.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12073,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_locks provides access to information about the locks held by active processes within the database server. See Chapter 13 for more discussion of locking.\n\npg_locks contains one row per active lockable object, requested lock mode, and relevant process. Thus, the same lockable object might appear many times, if multiple processes are holding or waiting for locks on it. However, an object that currently has no locks on it will not appear at all.\n\nThere are several distinct types of lockable objects: whole relations (e.g., tables), individual pages of relations, individual tuples of relations, transaction IDs (both virtual and permanent IDs), and general database objects (identified by class OID and object OID, in the same way as in pg_description or pg_depend). Also, the right to extend a relation is represented as a separate lockable object, as is the right to update pg_database.datfrozenxid. Also, “advisory” locks can be taken on numbers that have user-defined meanings.","columns":[{"name":"locktype","type":"text","description":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, spectoken, object, userlock, advisory, or applytransaction. (See also Table 27.11.)","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"oid","description":"OID of the database in which the lock target exists, or zero if the target is a shared object, or null if the target is a transaction ID","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relation","type":"oid","description":"OID of the relation targeted by the lock, or null if the target is not a relation or part of a relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"page","type":"integer","description":"Page number targeted by the lock within the relation, or null if the target is not a relation page or tuple","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuple","type":"smallint","description":"Tuple number targeted by the lock within the page, or null if the target is not a tuple","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualxid","type":"text","description":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID; see Chapter 67","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"transactionid","type":"xid","description":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID; Chapter 67","hidden":false,"type_oid":28,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classid","type":"oid","description":"OID of the system catalog containing the lock target, or null if the target is not a general database object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objid","type":"oid","description":"OID of the lock target within its system catalog, or null if the target is not a general database object","references":"any OID column","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"smallint","description":"Column number targeted by the lock (the classid and objid refer to the table itself), or zero if the target is some other general database object, or null if the target is not a general database object","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"virtualtransaction","type":"text","description":"Virtual ID of the transaction that is holding or awaiting this lock","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the server process holding or awaiting this lock, or null if the lock is held by a prepared transaction","documented_type":"int4","hidden":false,"type_oid":23,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mode","type":"text","description":"Name of the lock mode held or desired by this process (see Section 13.3.1 and Section 13.2.3)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"granted","type":"boolean","description":"True if lock is held, false if lock is awaited","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fastpath","type":"boolean","description":"True if lock was taken via fast path, false if taken via main lock table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"waitstart","type":"timestamp with time zone","description":"Time when the server process started waiting for this lock, or null if the lock is held. Note that this can be null for a very short period of time after the wait started even though granted is false.","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-locks.html","source_path":"sources/postgresql/19/view-pg-locks.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12078,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"mode","from":"Name of the lock mode held or desired by this process (see Section 13.3.1)","to":"Name of the lock mode held or desired by this process (see Section 13.3.1 and Section 13.2.3)"},{"name":"objsubid","from":"For a table column, this is the column number (the classid and objid refer to the table itself). For all other object types, this column is zero. Null if the object is not a general database object","to":"Column number targeted by the lock (the classid and objid refer to the table itself), or zero if the target is some other general database object, or null if the target is not a general database object"},{"name":"pid","from":"Process ID of the server process holding or awaiting this lock. Null if the lock is held by a prepared transaction.","to":"Process ID of the server process holding or awaiting this lock, or null if the lock is held by a prepared transaction"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.1","to":"9.2","status":"changed","added_columns":[{"name":"fastpath","type":"boolean","description":"True if lock was taken via fast path, false if taken via main lock table","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"classid","from":"OID of the system catalog containing the object, or null if the object is not a general database object","to":"OID of the system catalog containing the lock target, or null if the target is not a general database object"},{"name":"database","from":"OID of the database in which the object exists, or zero if the object is a shared object, or null if the object is a transaction ID","to":"OID of the database in which the lock target exists, or zero if the target is a shared object, or null if the target is a transaction ID"},{"name":"objid","from":"OID of the object within its system catalog, or null if the object is not a general database object","to":"OID of the lock target within its system catalog, or null if the target is not a general database object"},{"name":"page","from":"Page number within the relation, or null if the object is not a tuple or relation page","to":"Page number targeted by the lock within the relation, or null if the target is not a relation page or tuple"},{"name":"relation","from":"OID of the relation, or null if the object is not a relation or part of a relation","to":"OID of the relation targeted by the lock, or null if the target is not a relation or part of a relation"},{"name":"transactionid","from":"ID of a transaction, or null if the object is not a transaction ID","to":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID"},{"name":"tuple","from":"Tuple number within the page, or null if the object is not a tuple","to":"Tuple number targeted by the lock within the page, or null if the target is not a tuple"},{"name":"virtualxid","from":"Virtual ID of a transaction, or null if the object is not a virtual transaction ID","to":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"locktype","from":"Type of the lockable object: relation, extend, page, tuple, transactionid, virtualxid, object, userlock, or advisory","to":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, object, userlock, or advisory"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"locktype","from":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, object, userlock, or advisory","to":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, spectoken, object, userlock, or advisory. (See also Table 27.11.)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[{"name":"waitstart","type":"timestamp with time zone","description":"Time when the server process started waiting for this lock, or null if the lock is held. Note that this can be null for a very short period of time after the wait started even though granted is false.","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"locktype","from":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, spectoken, object, userlock, or advisory. (See also Table 27.11.)","to":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, spectoken, object, userlock, or advisory. (See also Table 28.11.)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"15","to":"16","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"locktype","from":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, spectoken, object, userlock, or advisory. (See also Table 28.11.)","to":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, spectoken, object, userlock, advisory, or applytransaction. (See also Table 28.11.)"},{"name":"transactionid","from":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID","to":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID; Chapter 74"},{"name":"virtualxid","from":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID","to":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID; see Chapter 74"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"locktype","from":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, spectoken, object, userlock, advisory, or applytransaction. (See also Table 28.11.)","to":"Type of the lockable object: relation, extend, frozenid, page, tuple, transactionid, virtualxid, spectoken, object, userlock, advisory, or applytransaction. (See also Table 27.11.)"},{"name":"transactionid","from":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID; Chapter 74","to":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID; Chapter 66"},{"name":"virtualxid","from":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID; see Chapter 74","to":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID; see Chapter 66"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"17","to":"18","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"transactionid","from":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID; Chapter 66","to":"ID of the transaction targeted by the lock, or null if the target is not a transaction ID; Chapter 67"},{"name":"virtualxid","from":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID; see Chapter 66","to":"Virtual ID of the transaction targeted by the lock, or null if the target is not a virtual transaction ID; see Chapter 67"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_matviews","kind":"view","summary":"The view pg_matviews provides access to useful information about each materialized view in the database.","first_version":"9.3","last_version":"19","versions":{"9.3":{"description":"The view pg_matviews provides access to useful information about each materialized view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing materialized view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewname","type":"name","description":"Name of materialized view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewowner","type":"name","description":"Name of materialized view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing materialized view (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if materialized view has (or recently had) any indexes","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ispopulated","type":"boolean","description":"True if materialized view is currently populated","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Materialized view definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-matviews.html","source_path":"sources/postgresql/9.3/view-pg-matviews.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11078,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The view pg_matviews provides access to useful information about each materialized view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing materialized view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewname","type":"name","description":"Name of materialized view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewowner","type":"name","description":"Name of materialized view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing materialized view (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if materialized view has (or recently had) any indexes","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ispopulated","type":"boolean","description":"True if materialized view is currently populated","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Materialized view definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-matviews.html","source_path":"sources/postgresql/9.4/view-pg-matviews.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11175,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The view pg_matviews provides access to useful information about each materialized view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing materialized view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewname","type":"name","description":"Name of materialized view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewowner","type":"name","description":"Name of materialized view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing materialized view (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if materialized view has (or recently had) any indexes","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ispopulated","type":"boolean","description":"True if materialized view is currently populated","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Materialized view definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-matviews.html","source_path":"sources/postgresql/9.5/view-pg-matviews.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11661,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The view pg_matviews provides access to useful information about each materialized view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing materialized view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewname","type":"name","description":"Name of materialized view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewowner","type":"name","description":"Name of materialized view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing materialized view (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if materialized view has (or recently had) any indexes","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ispopulated","type":"boolean","description":"True if materialized view is currently populated","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Materialized view definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-matviews.html","source_path":"sources/postgresql/9.6/view-pg-matviews.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11683,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The view pg_matviews provides access to useful information about each materialized view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing materialized view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewname","type":"name","description":"Name of materialized view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewowner","type":"name","description":"Name of materialized view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing materialized view (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if materialized view has (or recently had) any indexes","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ispopulated","type":"boolean","description":"True if materialized view is currently populated","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Materialized view definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-matviews.html","source_path":"sources/postgresql/10/view-pg-matviews.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11557,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_matviews provides access to useful information about each materialized view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing materialized view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewname","type":"name","description":"Name of materialized view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewowner","type":"name","description":"Name of materialized view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing materialized view (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if materialized view has (or recently had) any indexes","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ispopulated","type":"boolean","description":"True if materialized view is currently populated","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Materialized view definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-matviews.html","source_path":"sources/postgresql/11/view-pg-matviews.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11625,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_matviews provides access to useful information about each materialized view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing materialized view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewname","type":"name","description":"Name of materialized view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewowner","type":"name","description":"Name of materialized view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing materialized view (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if materialized view has (or recently had) any indexes","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ispopulated","type":"boolean","description":"True if materialized view is currently populated","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Materialized view definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-matviews.html","source_path":"sources/postgresql/12/view-pg-matviews.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12119,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_matviews provides access to useful information about each materialized view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing materialized view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewname","type":"name","description":"Name of materialized view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewowner","type":"name","description":"Name of materialized view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing materialized view (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if materialized view has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ispopulated","type":"boolean","description":"True if materialized view is currently populated","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Materialized view definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-matviews.html","source_path":"sources/postgresql/13/view-pg-matviews.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12117,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_matviews provides access to useful information about each materialized view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing materialized view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewname","type":"name","description":"Name of materialized view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewowner","type":"name","description":"Name of materialized view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing materialized view (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if materialized view has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ispopulated","type":"boolean","description":"True if materialized view is currently populated","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Materialized view definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-matviews.html","source_path":"sources/postgresql/14/view-pg-matviews.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12255,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_matviews provides access to useful information about each materialized view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing materialized view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewname","type":"name","description":"Name of materialized view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewowner","type":"name","description":"Name of materialized view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing materialized view (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if materialized view has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ispopulated","type":"boolean","description":"True if materialized view is currently populated","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Materialized view definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-matviews.html","source_path":"sources/postgresql/15/view-pg-matviews.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12038,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_matviews provides access to useful information about each materialized view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing materialized view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewname","type":"name","description":"Name of materialized view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewowner","type":"name","description":"Name of materialized view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing materialized view (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if materialized view has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ispopulated","type":"boolean","description":"True if materialized view is currently populated","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Materialized view definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-matviews.html","source_path":"sources/postgresql/16/view-pg-matviews.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12038,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_matviews provides access to useful information about each materialized view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing materialized view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewname","type":"name","description":"Name of materialized view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewowner","type":"name","description":"Name of materialized view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing materialized view (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if materialized view has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ispopulated","type":"boolean","description":"True if materialized view is currently populated","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Materialized view definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-matviews.html","source_path":"sources/postgresql/17/view-pg-matviews.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12038,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_matviews provides access to useful information about each materialized view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing materialized view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewname","type":"name","description":"Name of materialized view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewowner","type":"name","description":"Name of materialized view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing materialized view (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if materialized view has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ispopulated","type":"boolean","description":"True if materialized view is currently populated","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Materialized view definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-matviews.html","source_path":"sources/postgresql/18/view-pg-matviews.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12038,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_matviews provides access to useful information about each materialized view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing materialized view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewname","type":"name","description":"Name of materialized view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewowner","type":"name","description":"Name of materialized view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing materialized view (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if materialized view has (or recently had) any indexes","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ispopulated","type":"boolean","description":"True if materialized view is currently populated","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Materialized view definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-matviews.html","source_path":"sources/postgresql/19/view-pg-matviews.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12038,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.2","to":"9.3","status":"added","added_columns":[{"name":"schemaname","type":"name","description":"Name of schema containing materialized view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewname","type":"name","description":"Name of materialized view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"matviewowner","type":"name","description":"Name of materialized view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing materialized view (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if materialized view has (or recently had) any indexes","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ispopulated","type":"boolean","description":"True if materialized view is currently populated","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Materialized view definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_namespace","kind":"catalog","summary":"schemas","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can have a separate collection of relations, types, etc. without name conflicts.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_namespace.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspname","type":"name","description":"Name of the namespace","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspowner","type":"oid","description":"Owner of the namespace","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-namespace.html","source_path":"sources/postgresql/9.0/catalog-pg-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_namespace.h","definition_source_path":"sources/postgresql/9.0/source/pg_namespace.h","source_column_count":4,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2615,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can have a separate collection of relations, types, etc. without name conflicts.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_namespace.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspname","type":"name","description":"Name of the namespace","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspowner","type":"oid","description":"Owner of the namespace","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html","source_path":"sources/postgresql/9.1/catalog-pg-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_namespace.h","definition_source_path":"sources/postgresql/9.1/source/pg_namespace.h","source_column_count":4,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2615,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can have a separate collection of relations, types, etc. without name conflicts.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_namespace.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspname","type":"name","description":"Name of the namespace","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspowner","type":"oid","description":"Owner of the namespace","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-namespace.html","source_path":"sources/postgresql/9.2/catalog-pg-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_namespace.h","definition_source_path":"sources/postgresql/9.2/source/pg_namespace.h","source_column_count":4,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2615,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can have a separate collection of relations, types, etc. without name conflicts.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspname","type":"name","description":"Name of the namespace","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspowner","type":"oid","description":"Owner of the namespace","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-namespace.html","source_path":"sources/postgresql/9.3/catalog-pg-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_namespace.h","definition_source_path":"sources/postgresql/9.3/source/pg_namespace.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2615,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can have a separate collection of relations, types, etc. without name conflicts.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspname","type":"name","description":"Name of the namespace","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspowner","type":"oid","description":"Owner of the namespace","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-namespace.html","source_path":"sources/postgresql/9.4/catalog-pg-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_namespace.h","definition_source_path":"sources/postgresql/9.4/source/pg_namespace.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2615,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can have a separate collection of relations, types, etc. without name conflicts.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspname","type":"name","description":"Name of the namespace","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspowner","type":"oid","description":"Owner of the namespace","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-namespace.html","source_path":"sources/postgresql/9.5/catalog-pg-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_namespace.h","definition_source_path":"sources/postgresql/9.5/source/pg_namespace.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2615,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can have a separate collection of relations, types, etc. without name conflicts.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspname","type":"name","description":"Name of the namespace","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspowner","type":"oid","description":"Owner of the namespace","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-namespace.html","source_path":"sources/postgresql/9.6/catalog-pg-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_namespace.h","definition_source_path":"sources/postgresql/9.6/source/pg_namespace.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2615,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can have a separate collection of relations, types, etc. without name conflicts.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspname","type":"name","description":"Name of the namespace","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspowner","type":"oid","description":"Owner of the namespace","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-namespace.html","source_path":"sources/postgresql/10/catalog-pg-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_namespace.h","definition_source_path":"sources/postgresql/10/source/pg_namespace.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2615,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can have a separate collection of relations, types, etc. without name conflicts.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspname","type":"name","description":"Name of the namespace","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspowner","type":"oid","description":"Owner of the namespace","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-namespace.html","source_path":"sources/postgresql/11/catalog-pg-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_namespace.h","definition_source_path":"sources/postgresql/11/source/pg_namespace.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2615,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can have a separate collection of relations, types, etc. without name conflicts.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspname","type":"name","description":"Name of the namespace","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspowner","type":"oid","description":"Owner of the namespace","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-namespace.html","source_path":"sources/postgresql/12/catalog-pg-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_namespace.h","definition_source_path":"sources/postgresql/12/source/pg_namespace.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2615,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can have a separate collection of relations, types, etc. without name conflicts.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspname","type":"name","description":"Name of the namespace","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspowner","type":"oid","description":"Owner of the namespace","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-namespace.html","source_path":"sources/postgresql/13/catalog-pg-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_namespace.h","definition_source_path":"sources/postgresql/13/source/pg_namespace.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2615,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can have a separate collection of relations, types, etc. without name conflicts.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspname","type":"name","description":"Name of the namespace","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspowner","type":"oid","description":"Owner of the namespace","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-namespace.html","source_path":"sources/postgresql/14/catalog-pg-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_namespace.h","definition_source_path":"sources/postgresql/14/source/pg_namespace.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2615,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can have a separate collection of relations, types, etc. without name conflicts.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspname","type":"name","description":"Name of the namespace","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspowner","type":"oid","description":"Owner of the namespace","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-namespace.html","source_path":"sources/postgresql/15/catalog-pg-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_namespace.h","definition_source_path":"sources/postgresql/15/source/pg_namespace.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2615,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can have a separate collection of relations, types, etc. without name conflicts.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspname","type":"name","description":"Name of the namespace","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspowner","type":"oid","description":"Owner of the namespace","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-namespace.html","source_path":"sources/postgresql/16/catalog-pg-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_namespace.h","definition_source_path":"sources/postgresql/16/source/pg_namespace.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2615,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can have a separate collection of relations, types, etc. without name conflicts.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspname","type":"name","description":"Name of the namespace","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspowner","type":"oid","description":"Owner of the namespace","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspacl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-namespace.html","source_path":"sources/postgresql/17/catalog-pg-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_namespace.h","definition_source_path":"sources/postgresql/17/source/pg_namespace.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2615,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can have a separate collection of relations, types, etc. without name conflicts.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspname","type":"name","description":"Name of the namespace","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspowner","type":"oid","description":"Owner of the namespace","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspacl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-namespace.html","source_path":"sources/postgresql/18/catalog-pg-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_namespace.h","definition_source_path":"sources/postgresql/18/source/pg_namespace.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2615,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can have a separate collection of relations, types, etc. without name conflicts.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspname","type":"name","description":"Name of the namespace","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspowner","type":"oid","description":"Owner of the namespace","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"nspacl","type":"aclitem[]","description":"Access privileges; see Section 5.9 for details","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-namespace.html","source_path":"sources/postgresql/19/catalog-pg-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_namespace.h","definition_source_path":"sources/postgresql/19/source/pg_namespace.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":2615,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"nspacl","from":"Access privileges; see GRANT and REVOKE for details","to":"Access privileges; see Section 5.7 for details"},{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"nspacl","from":"Access privileges; see Section 5.7 for details","to":"Access privileges; see Section 5.8 for details"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"nspacl","from":"Access privileges; see Section 5.8 for details","to":"Access privileges; see Section 5.9 for details"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_opclass","kind":"catalog","summary":"access method operator classes","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_opclass defines index access method operator classes. Each operator class defines semantics for index columns of a particular data type and a particular index access method. An operator class essentially specifies that a particular operator family is applicable to a particular indexable column data type. The set of operators from the family that are actually usable with the indexed column are whichever ones accept the column's data type as their lefthand input.\n\nOperator classes are described at length in Section 35.14.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_opclass.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcmethod","type":"oid","description":"Index access method operator class is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcname","type":"name","description":"Name of this operator class","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcnamespace","type":"oid","description":"Namespace of this operator class","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcowner","type":"oid","description":"Owner of the operator class","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcfamily","type":"oid","description":"Operator family containing the operator class","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcintype","type":"oid","description":"Data type that the operator class indexes","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcdefault","type":"boolean","description":"True if this operator class is the default for opcintype","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opckeytype","type":"oid","description":"Type of data stored in index, or zero if same as opcintype","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-opclass.html","source_path":"sources/postgresql/9.0/catalog-pg-opclass.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_opclass.h","definition_source_path":"sources/postgresql/9.0/source/pg_opclass.h","source_column_count":9,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2616,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_opclass defines index access method operator classes. Each operator class defines semantics for index columns of a particular data type and a particular index access method. An operator class essentially specifies that a particular operator family is applicable to a particular indexable column data type. The set of operators from the family that are actually usable with the indexed column are whichever ones accept the column's data type as their lefthand input.\n\nOperator classes are described at length in Section 35.14.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_opclass.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcmethod","type":"oid","description":"Index access method operator class is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcname","type":"name","description":"Name of this operator class","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcnamespace","type":"oid","description":"Namespace of this operator class","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcowner","type":"oid","description":"Owner of the operator class","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcfamily","type":"oid","description":"Operator family containing the operator class","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcintype","type":"oid","description":"Data type that the operator class indexes","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcdefault","type":"boolean","description":"True if this operator class is the default for opcintype","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opckeytype","type":"oid","description":"Type of data stored in index, or zero if same as opcintype","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-opclass.html","source_path":"sources/postgresql/9.1/catalog-pg-opclass.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_opclass.h","definition_source_path":"sources/postgresql/9.1/source/pg_opclass.h","source_column_count":9,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2616,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_opclass defines index access method operator classes. Each operator class defines semantics for index columns of a particular data type and a particular index access method. An operator class essentially specifies that a particular operator family is applicable to a particular indexable column data type. The set of operators from the family that are actually usable with the indexed column are whichever ones accept the column's data type as their left-hand input.\n\nOperator classes are described at length in Section 35.14.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_opclass.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcmethod","type":"oid","description":"Index access method operator class is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcname","type":"name","description":"Name of this operator class","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcnamespace","type":"oid","description":"Namespace of this operator class","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcowner","type":"oid","description":"Owner of the operator class","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcfamily","type":"oid","description":"Operator family containing the operator class","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcintype","type":"oid","description":"Data type that the operator class indexes","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcdefault","type":"boolean","description":"True if this operator class is the default for opcintype","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opckeytype","type":"oid","description":"Type of data stored in index, or zero if same as opcintype","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-opclass.html","source_path":"sources/postgresql/9.2/catalog-pg-opclass.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_opclass.h","definition_source_path":"sources/postgresql/9.2/source/pg_opclass.h","source_column_count":9,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2616,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_opclass defines index access method operator classes. Each operator class defines semantics for index columns of a particular data type and a particular index access method. An operator class essentially specifies that a particular operator family is applicable to a particular indexable column data type. The set of operators from the family that are actually usable with the indexed column are whichever ones accept the column's data type as their left-hand input.\n\nOperator classes are described at length in Section 35.14.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcmethod","type":"oid","description":"Index access method operator class is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcname","type":"name","description":"Name of this operator class","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcnamespace","type":"oid","description":"Namespace of this operator class","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcowner","type":"oid","description":"Owner of the operator class","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcfamily","type":"oid","description":"Operator family containing the operator class","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcintype","type":"oid","description":"Data type that the operator class indexes","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcdefault","type":"boolean","description":"True if this operator class is the default for opcintype","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opckeytype","type":"oid","description":"Type of data stored in index, or zero if same as opcintype","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-opclass.html","source_path":"sources/postgresql/9.3/catalog-pg-opclass.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_opclass.h","definition_source_path":"sources/postgresql/9.3/source/pg_opclass.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2616,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_opclass defines index access method operator classes. Each operator class defines semantics for index columns of a particular data type and a particular index access method. An operator class essentially specifies that a particular operator family is applicable to a particular indexable column data type. The set of operators from the family that are actually usable with the indexed column are whichever ones accept the column's data type as their left-hand input.\n\nOperator classes are described at length in Section 35.14.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcmethod","type":"oid","description":"Index access method operator class is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcname","type":"name","description":"Name of this operator class","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcnamespace","type":"oid","description":"Namespace of this operator class","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcowner","type":"oid","description":"Owner of the operator class","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcfamily","type":"oid","description":"Operator family containing the operator class","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcintype","type":"oid","description":"Data type that the operator class indexes","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcdefault","type":"boolean","description":"True if this operator class is the default for opcintype","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opckeytype","type":"oid","description":"Type of data stored in index, or zero if same as opcintype","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-opclass.html","source_path":"sources/postgresql/9.4/catalog-pg-opclass.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_opclass.h","definition_source_path":"sources/postgresql/9.4/source/pg_opclass.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2616,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_opclass defines index access method operator classes. Each operator class defines semantics for index columns of a particular data type and a particular index access method. An operator class essentially specifies that a particular operator family is applicable to a particular indexable column data type. The set of operators from the family that are actually usable with the indexed column are whichever ones accept the column's data type as their left-hand input.\n\nOperator classes are described at length in Section 35.14.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcmethod","type":"oid","description":"Index access method operator class is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcname","type":"name","description":"Name of this operator class","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcnamespace","type":"oid","description":"Namespace of this operator class","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcowner","type":"oid","description":"Owner of the operator class","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcfamily","type":"oid","description":"Operator family containing the operator class","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcintype","type":"oid","description":"Data type that the operator class indexes","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcdefault","type":"boolean","description":"True if this operator class is the default for opcintype","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opckeytype","type":"oid","description":"Type of data stored in index, or zero if same as opcintype","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-opclass.html","source_path":"sources/postgresql/9.5/catalog-pg-opclass.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_opclass.h","definition_source_path":"sources/postgresql/9.5/source/pg_opclass.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2616,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_opclass defines index access method operator classes. Each operator class defines semantics for index columns of a particular data type and a particular index access method. An operator class essentially specifies that a particular operator family is applicable to a particular indexable column data type. The set of operators from the family that are actually usable with the indexed column are whichever ones accept the column's data type as their left-hand input.\n\nOperator classes are described at length in Section 36.14.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcmethod","type":"oid","description":"Index access method operator class is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcname","type":"name","description":"Name of this operator class","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcnamespace","type":"oid","description":"Namespace of this operator class","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcowner","type":"oid","description":"Owner of the operator class","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcfamily","type":"oid","description":"Operator family containing the operator class","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcintype","type":"oid","description":"Data type that the operator class indexes","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcdefault","type":"boolean","description":"True if this operator class is the default for opcintype","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opckeytype","type":"oid","description":"Type of data stored in index, or zero if same as opcintype","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-opclass.html","source_path":"sources/postgresql/9.6/catalog-pg-opclass.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_opclass.h","definition_source_path":"sources/postgresql/9.6/source/pg_opclass.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2616,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_opclass defines index access method operator classes. Each operator class defines semantics for index columns of a particular data type and a particular index access method. An operator class essentially specifies that a particular operator family is applicable to a particular indexable column data type. The set of operators from the family that are actually usable with the indexed column are whichever ones accept the column's data type as their left-hand input.\n\nOperator classes are described at length in Section 37.14.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcmethod","type":"oid","description":"Index access method operator class is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcname","type":"name","description":"Name of this operator class","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcnamespace","type":"oid","description":"Namespace of this operator class","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcowner","type":"oid","description":"Owner of the operator class","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcfamily","type":"oid","description":"Operator family containing the operator class","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcintype","type":"oid","description":"Data type that the operator class indexes","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcdefault","type":"boolean","description":"True if this operator class is the default for opcintype","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opckeytype","type":"oid","description":"Type of data stored in index, or zero if same as opcintype","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-opclass.html","source_path":"sources/postgresql/10/catalog-pg-opclass.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_opclass.h","definition_source_path":"sources/postgresql/10/source/pg_opclass.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2616,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_opclass defines index access method operator classes. Each operator class defines semantics for index columns of a particular data type and a particular index access method. An operator class essentially specifies that a particular operator family is applicable to a particular indexable column data type. The set of operators from the family that are actually usable with the indexed column are whichever ones accept the column's data type as their left-hand input.\n\nOperator classes are described at length in Section 38.15.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcmethod","type":"oid","description":"Index access method operator class is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcname","type":"name","description":"Name of this operator class","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcnamespace","type":"oid","description":"Namespace of this operator class","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcowner","type":"oid","description":"Owner of the operator class","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcfamily","type":"oid","description":"Operator family containing the operator class","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcintype","type":"oid","description":"Data type that the operator class indexes","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcdefault","type":"boolean","description":"True if this operator class is the default for opcintype","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opckeytype","type":"oid","description":"Type of data stored in index, or zero if same as opcintype","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-opclass.html","source_path":"sources/postgresql/11/catalog-pg-opclass.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_opclass.h","definition_source_path":"sources/postgresql/11/source/pg_opclass.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2616,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_opclass defines index access method operator classes. Each operator class defines semantics for index columns of a particular data type and a particular index access method. An operator class essentially specifies that a particular operator family is applicable to a particular indexable column data type. The set of operators from the family that are actually usable with the indexed column are whichever ones accept the column's data type as their left-hand input.\n\nOperator classes are described at length in Section 37.16.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcmethod","type":"oid","description":"Index access method operator class is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcname","type":"name","description":"Name of this operator class","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcnamespace","type":"oid","description":"Namespace of this operator class","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcowner","type":"oid","description":"Owner of the operator class","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcfamily","type":"oid","description":"Operator family containing the operator class","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcintype","type":"oid","description":"Data type that the operator class indexes","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcdefault","type":"boolean","description":"True if this operator class is the default for opcintype","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opckeytype","type":"oid","description":"Type of data stored in index, or zero if same as opcintype","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-opclass.html","source_path":"sources/postgresql/12/catalog-pg-opclass.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_opclass.h","definition_source_path":"sources/postgresql/12/source/pg_opclass.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2616,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_opclass defines index access method operator classes. Each operator class defines semantics for index columns of a particular data type and a particular index access method. An operator class essentially specifies that a particular operator family is applicable to a particular indexable column data type. The set of operators from the family that are actually usable with the indexed column are whichever ones accept the column's data type as their left-hand input.\n\nOperator classes are described at length in Section 37.16.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcmethod","type":"oid","description":"Index access method operator class is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcname","type":"name","description":"Name of this operator class","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcnamespace","type":"oid","description":"Namespace of this operator class","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcowner","type":"oid","description":"Owner of the operator class","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcfamily","type":"oid","description":"Operator family containing the operator class","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcintype","type":"oid","description":"Data type that the operator class indexes","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcdefault","type":"boolean","description":"True if this operator class is the default for opcintype","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opckeytype","type":"oid","description":"Type of data stored in index, or zero if same as opcintype","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-opclass.html","source_path":"sources/postgresql/13/catalog-pg-opclass.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_opclass.h","definition_source_path":"sources/postgresql/13/source/pg_opclass.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2616,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_opclass defines index access method operator classes. Each operator class defines semantics for index columns of a particular data type and a particular index access method. An operator class essentially specifies that a particular operator family is applicable to a particular indexable column data type. The set of operators from the family that are actually usable with the indexed column are whichever ones accept the column's data type as their left-hand input.\n\nOperator classes are described at length in Section 38.16.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcmethod","type":"oid","description":"Index access method operator class is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcname","type":"name","description":"Name of this operator class","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcnamespace","type":"oid","description":"Namespace of this operator class","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcowner","type":"oid","description":"Owner of the operator class","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcfamily","type":"oid","description":"Operator family containing the operator class","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcintype","type":"oid","description":"Data type that the operator class indexes","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcdefault","type":"boolean","description":"True if this operator class is the default for opcintype","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opckeytype","type":"oid","description":"Type of data stored in index, or zero if same as opcintype","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-opclass.html","source_path":"sources/postgresql/14/catalog-pg-opclass.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_opclass.h","definition_source_path":"sources/postgresql/14/source/pg_opclass.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2616,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_opclass defines index access method operator classes. Each operator class defines semantics for index columns of a particular data type and a particular index access method. An operator class essentially specifies that a particular operator family is applicable to a particular indexable column data type. The set of operators from the family that are actually usable with the indexed column are whichever ones accept the column's data type as their left-hand input.\n\nOperator classes are described at length in Section 38.16.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcmethod","type":"oid","description":"Index access method operator class is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcname","type":"name","description":"Name of this operator class","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcnamespace","type":"oid","description":"Namespace of this operator class","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcowner","type":"oid","description":"Owner of the operator class","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcfamily","type":"oid","description":"Operator family containing the operator class","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcintype","type":"oid","description":"Data type that the operator class indexes","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcdefault","type":"boolean","description":"True if this operator class is the default for opcintype","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opckeytype","type":"oid","description":"Type of data stored in index, or zero if same as opcintype","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-opclass.html","source_path":"sources/postgresql/15/catalog-pg-opclass.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_opclass.h","definition_source_path":"sources/postgresql/15/source/pg_opclass.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2616,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_opclass defines index access method operator classes. Each operator class defines semantics for index columns of a particular data type and a particular index access method. An operator class essentially specifies that a particular operator family is applicable to a particular indexable column data type. The set of operators from the family that are actually usable with the indexed column are whichever ones accept the column's data type as their left-hand input.\n\nOperator classes are described at length in Section 38.16.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcmethod","type":"oid","description":"Index access method operator class is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcname","type":"name","description":"Name of this operator class","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcnamespace","type":"oid","description":"Namespace of this operator class","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcowner","type":"oid","description":"Owner of the operator class","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcfamily","type":"oid","description":"Operator family containing the operator class","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcintype","type":"oid","description":"Data type that the operator class indexes","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcdefault","type":"boolean","description":"True if this operator class is the default for opcintype","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opckeytype","type":"oid","description":"Type of data stored in index, or zero if same as opcintype","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-opclass.html","source_path":"sources/postgresql/16/catalog-pg-opclass.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_opclass.h","definition_source_path":"sources/postgresql/16/source/pg_opclass.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2616,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_opclass defines index access method operator classes. Each operator class defines semantics for index columns of a particular data type and a particular index access method. An operator class essentially specifies that a particular operator family is applicable to a particular indexable column data type. The set of operators from the family that are actually usable with the indexed column are whichever ones accept the column's data type as their left-hand input.\n\nOperator classes are described at length in Section 36.16.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcmethod","type":"oid","description":"Index access method operator class is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcname","type":"name","description":"Name of this operator class","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcnamespace","type":"oid","description":"Namespace of this operator class","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcowner","type":"oid","description":"Owner of the operator class","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcfamily","type":"oid","description":"Operator family containing the operator class","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcintype","type":"oid","description":"Data type that the operator class indexes","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcdefault","type":"boolean","description":"True if this operator class is the default for opcintype","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opckeytype","type":"oid","description":"Type of data stored in index, or zero if same as opcintype","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-opclass.html","source_path":"sources/postgresql/17/catalog-pg-opclass.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_opclass.h","definition_source_path":"sources/postgresql/17/source/pg_opclass.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2616,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_opclass defines index access method operator classes. Each operator class defines semantics for index columns of a particular data type and a particular index access method. An operator class essentially specifies that a particular operator family is applicable to a particular indexable column data type. The set of operators from the family that are actually usable with the indexed column are whichever ones accept the column's data type as their left-hand input.\n\nOperator classes are described at length in Section 36.16.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcmethod","type":"oid","description":"Index access method operator class is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcname","type":"name","description":"Name of this operator class","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcnamespace","type":"oid","description":"Namespace of this operator class","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcowner","type":"oid","description":"Owner of the operator class","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcfamily","type":"oid","description":"Operator family containing the operator class","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcintype","type":"oid","description":"Data type that the operator class indexes","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcdefault","type":"boolean","description":"True if this operator class is the default for opcintype","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opckeytype","type":"oid","description":"Type of data stored in index, or zero if same as opcintype","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-opclass.html","source_path":"sources/postgresql/18/catalog-pg-opclass.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_opclass.h","definition_source_path":"sources/postgresql/18/source/pg_opclass.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2616,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_opclass defines index access method operator classes. Each operator class defines semantics for index columns of a particular data type and a particular index access method. An operator class essentially specifies that a particular operator family is applicable to a particular indexable column data type. The set of operators from the family that are actually usable with the indexed column are whichever ones accept the column's data type as their left-hand input.\n\nOperator classes are described at length in Section 36.16.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcmethod","type":"oid","description":"Index access method operator class is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcname","type":"name","description":"Name of this operator class","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcnamespace","type":"oid","description":"Namespace of this operator class","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcowner","type":"oid","description":"Owner of the operator class","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcfamily","type":"oid","description":"Operator family containing the operator class","references":"pg_opfamily.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcintype","type":"oid","description":"Data type that the operator class indexes","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opcdefault","type":"boolean","description":"True if this operator class is the default for opcintype","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opckeytype","type":"oid","description":"Type of data stored in index, or zero if same as opcintype","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-opclass.html","source_path":"sources/postgresql/19/catalog-pg-opclass.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_opclass.h","definition_source_path":"sources/postgresql/19/source/pg_opclass.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2616,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"10","to":"11","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_operator","kind":"catalog","summary":"operators","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 35.12 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_operator.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprname","type":"name","description":"Name of the operator","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnamespace","type":"oid","description":"The OID of the namespace that contains this operator","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprowner","type":"oid","description":"Owner of the operator","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprkind","type":"\"char\"","description":"b = infix (\"both\"), l = prefix (\"left\"), r = postfix (\"right\")","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanmerge","type":"boolean","description":"This operator supports merge joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanhash","type":"boolean","description":"This operator supports hash joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprleft","type":"oid","description":"Type of the left operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprright","type":"oid","description":"Type of the right operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprresult","type":"oid","description":"Type of the result","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcom","type":"oid","description":"Commutator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnegate","type":"oid","description":"Negator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcode","type":"regproc","description":"Function that implements this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprrest","type":"regproc","description":"Restriction selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprjoin","type":"regproc","description":"Join selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-operator.html","source_path":"sources/postgresql/9.0/catalog-pg-operator.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_operator.h","definition_source_path":"sources/postgresql/9.0/source/pg_operator.h","source_column_count":15,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2617,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 35.12 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_operator.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprname","type":"name","description":"Name of the operator","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnamespace","type":"oid","description":"The OID of the namespace that contains this operator","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprowner","type":"oid","description":"Owner of the operator","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprkind","type":"\"char\"","description":"b = infix (\"both\"), l = prefix (\"left\"), r = postfix (\"right\")","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanmerge","type":"boolean","description":"This operator supports merge joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanhash","type":"boolean","description":"This operator supports hash joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprleft","type":"oid","description":"Type of the left operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprright","type":"oid","description":"Type of the right operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprresult","type":"oid","description":"Type of the result","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcom","type":"oid","description":"Commutator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnegate","type":"oid","description":"Negator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcode","type":"regproc","description":"Function that implements this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprrest","type":"regproc","description":"Restriction selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprjoin","type":"regproc","description":"Join selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-operator.html","source_path":"sources/postgresql/9.1/catalog-pg-operator.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_operator.h","definition_source_path":"sources/postgresql/9.1/source/pg_operator.h","source_column_count":15,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2617,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 35.12 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_operator.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprname","type":"name","description":"Name of the operator","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnamespace","type":"oid","description":"The OID of the namespace that contains this operator","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprowner","type":"oid","description":"Owner of the operator","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprkind","type":"\"char\"","description":"b = infix (\"both\"), l = prefix (\"left\"), r = postfix (\"right\")","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanmerge","type":"boolean","description":"This operator supports merge joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanhash","type":"boolean","description":"This operator supports hash joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprleft","type":"oid","description":"Type of the left operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprright","type":"oid","description":"Type of the right operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprresult","type":"oid","description":"Type of the result","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcom","type":"oid","description":"Commutator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnegate","type":"oid","description":"Negator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcode","type":"regproc","description":"Function that implements this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprrest","type":"regproc","description":"Restriction selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprjoin","type":"regproc","description":"Join selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-operator.html","source_path":"sources/postgresql/9.2/catalog-pg-operator.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_operator.h","definition_source_path":"sources/postgresql/9.2/source/pg_operator.h","source_column_count":15,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2617,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 35.12 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprname","type":"name","description":"Name of the operator","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnamespace","type":"oid","description":"The OID of the namespace that contains this operator","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprowner","type":"oid","description":"Owner of the operator","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprkind","type":"\"char\"","description":"b = infix (\"both\"), l = prefix (\"left\"), r = postfix (\"right\")","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanmerge","type":"boolean","description":"This operator supports merge joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanhash","type":"boolean","description":"This operator supports hash joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprleft","type":"oid","description":"Type of the left operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprright","type":"oid","description":"Type of the right operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprresult","type":"oid","description":"Type of the result","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcom","type":"oid","description":"Commutator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnegate","type":"oid","description":"Negator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcode","type":"regproc","description":"Function that implements this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprrest","type":"regproc","description":"Restriction selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprjoin","type":"regproc","description":"Join selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-operator.html","source_path":"sources/postgresql/9.3/catalog-pg-operator.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_operator.h","definition_source_path":"sources/postgresql/9.3/source/pg_operator.h","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":2617,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 35.12 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprname","type":"name","description":"Name of the operator","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnamespace","type":"oid","description":"The OID of the namespace that contains this operator","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprowner","type":"oid","description":"Owner of the operator","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprkind","type":"\"char\"","description":"b = infix (\"both\"), l = prefix (\"left\"), r = postfix (\"right\")","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanmerge","type":"boolean","description":"This operator supports merge joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanhash","type":"boolean","description":"This operator supports hash joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprleft","type":"oid","description":"Type of the left operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprright","type":"oid","description":"Type of the right operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprresult","type":"oid","description":"Type of the result","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcom","type":"oid","description":"Commutator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnegate","type":"oid","description":"Negator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcode","type":"regproc","description":"Function that implements this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprrest","type":"regproc","description":"Restriction selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprjoin","type":"regproc","description":"Join selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-operator.html","source_path":"sources/postgresql/9.4/catalog-pg-operator.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_operator.h","definition_source_path":"sources/postgresql/9.4/source/pg_operator.h","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":2617,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 35.12 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprname","type":"name","description":"Name of the operator","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnamespace","type":"oid","description":"The OID of the namespace that contains this operator","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprowner","type":"oid","description":"Owner of the operator","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprkind","type":"\"char\"","description":"b = infix (\"both\"), l = prefix (\"left\"), r = postfix (\"right\")","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanmerge","type":"boolean","description":"This operator supports merge joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanhash","type":"boolean","description":"This operator supports hash joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprleft","type":"oid","description":"Type of the left operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprright","type":"oid","description":"Type of the right operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprresult","type":"oid","description":"Type of the result","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcom","type":"oid","description":"Commutator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnegate","type":"oid","description":"Negator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcode","type":"regproc","description":"Function that implements this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprrest","type":"regproc","description":"Restriction selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprjoin","type":"regproc","description":"Join selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-operator.html","source_path":"sources/postgresql/9.5/catalog-pg-operator.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_operator.h","definition_source_path":"sources/postgresql/9.5/source/pg_operator.h","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":2617,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 36.12 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprname","type":"name","description":"Name of the operator","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnamespace","type":"oid","description":"The OID of the namespace that contains this operator","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprowner","type":"oid","description":"Owner of the operator","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprkind","type":"\"char\"","description":"b = infix (\"both\"), l = prefix (\"left\"), r = postfix (\"right\")","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanmerge","type":"boolean","description":"This operator supports merge joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanhash","type":"boolean","description":"This operator supports hash joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprleft","type":"oid","description":"Type of the left operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprright","type":"oid","description":"Type of the right operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprresult","type":"oid","description":"Type of the result","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcom","type":"oid","description":"Commutator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnegate","type":"oid","description":"Negator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcode","type":"regproc","description":"Function that implements this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprrest","type":"regproc","description":"Restriction selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprjoin","type":"regproc","description":"Join selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-operator.html","source_path":"sources/postgresql/9.6/catalog-pg-operator.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_operator.h","definition_source_path":"sources/postgresql/9.6/source/pg_operator.h","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":2617,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 37.12 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprname","type":"name","description":"Name of the operator","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnamespace","type":"oid","description":"The OID of the namespace that contains this operator","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprowner","type":"oid","description":"Owner of the operator","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprkind","type":"\"char\"","description":"b = infix (“both”), l = prefix (“left”), r = postfix (“right”)","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanmerge","type":"boolean","description":"This operator supports merge joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanhash","type":"boolean","description":"This operator supports hash joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprleft","type":"oid","description":"Type of the left operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprright","type":"oid","description":"Type of the right operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprresult","type":"oid","description":"Type of the result","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcom","type":"oid","description":"Commutator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnegate","type":"oid","description":"Negator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcode","type":"regproc","description":"Function that implements this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprrest","type":"regproc","description":"Restriction selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprjoin","type":"regproc","description":"Join selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-operator.html","source_path":"sources/postgresql/10/catalog-pg-operator.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_operator.h","definition_source_path":"sources/postgresql/10/source/pg_operator.h","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":2617,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 38.13 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprname","type":"name","description":"Name of the operator","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnamespace","type":"oid","description":"The OID of the namespace that contains this operator","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprowner","type":"oid","description":"Owner of the operator","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprkind","type":"\"char\"","description":"b = infix (“both”), l = prefix (“left”), r = postfix (“right”)","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanmerge","type":"boolean","description":"This operator supports merge joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanhash","type":"boolean","description":"This operator supports hash joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprleft","type":"oid","description":"Type of the left operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprright","type":"oid","description":"Type of the right operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprresult","type":"oid","description":"Type of the result","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcom","type":"oid","description":"Commutator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnegate","type":"oid","description":"Negator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcode","type":"regproc","description":"Function that implements this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprrest","type":"regproc","description":"Restriction selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprjoin","type":"regproc","description":"Join selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-operator.html","source_path":"sources/postgresql/11/catalog-pg-operator.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_operator.h","definition_source_path":"sources/postgresql/11/source/pg_operator.h","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":2617,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 37.14 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprname","type":"name","description":"Name of the operator","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnamespace","type":"oid","description":"The OID of the namespace that contains this operator","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprowner","type":"oid","description":"Owner of the operator","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprkind","type":"\"char\"","description":"b = infix (“both”), l = prefix (“left”), r = postfix (“right”)","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanmerge","type":"boolean","description":"This operator supports merge joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanhash","type":"boolean","description":"This operator supports hash joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprleft","type":"oid","description":"Type of the left operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprright","type":"oid","description":"Type of the right operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprresult","type":"oid","description":"Type of the result","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcom","type":"oid","description":"Commutator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnegate","type":"oid","description":"Negator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcode","type":"regproc","description":"Function that implements this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprrest","type":"regproc","description":"Restriction selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprjoin","type":"regproc","description":"Join selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-operator.html","source_path":"sources/postgresql/12/catalog-pg-operator.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_operator.h","definition_source_path":"sources/postgresql/12/source/pg_operator.h","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":2617,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 37.14 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprname","type":"name","description":"Name of the operator","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnamespace","type":"oid","description":"The OID of the namespace that contains this operator","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprowner","type":"oid","description":"Owner of the operator","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprkind","type":"\"char\"","description":"b = infix (“both”), l = prefix (“left”), r = postfix (“right”)","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanmerge","type":"boolean","description":"This operator supports merge joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanhash","type":"boolean","description":"This operator supports hash joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprleft","type":"oid","description":"Type of the left operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprright","type":"oid","description":"Type of the right operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprresult","type":"oid","description":"Type of the result","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcom","type":"oid","description":"Commutator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnegate","type":"oid","description":"Negator of this operator, if any","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcode","type":"regproc","description":"Function that implements this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprrest","type":"regproc","description":"Restriction selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprjoin","type":"regproc","description":"Join selectivity estimation function for this operator","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-operator.html","source_path":"sources/postgresql/13/catalog-pg-operator.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_operator.h","definition_source_path":"sources/postgresql/13/source/pg_operator.h","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":2617,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 38.14 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprname","type":"name","description":"Name of the operator","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnamespace","type":"oid","description":"The OID of the namespace that contains this operator","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprowner","type":"oid","description":"Owner of the operator","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprkind","type":"\"char\"","description":"b = infix operator (“both”), or l = prefix operator (“left”)","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanmerge","type":"boolean","description":"This operator supports merge joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanhash","type":"boolean","description":"This operator supports hash joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprleft","type":"oid","description":"Type of the left operand (zero for a prefix operator)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprright","type":"oid","description":"Type of the right operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprresult","type":"oid","description":"Type of the result (zero for a not-yet-defined “shell” operator)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcom","type":"oid","description":"Commutator of this operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnegate","type":"oid","description":"Negator of this operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcode","type":"regproc","description":"Function that implements this operator (zero for a not-yet-defined “shell” operator)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprrest","type":"regproc","description":"Restriction selectivity estimation function for this operator (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprjoin","type":"regproc","description":"Join selectivity estimation function for this operator (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-operator.html","source_path":"sources/postgresql/14/catalog-pg-operator.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_operator.h","definition_source_path":"sources/postgresql/14/source/pg_operator.h","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":2617,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 38.14 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprname","type":"name","description":"Name of the operator","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnamespace","type":"oid","description":"The OID of the namespace that contains this operator","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprowner","type":"oid","description":"Owner of the operator","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprkind","type":"\"char\"","description":"b = infix operator (“both”), or l = prefix operator (“left”)","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanmerge","type":"boolean","description":"This operator supports merge joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanhash","type":"boolean","description":"This operator supports hash joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprleft","type":"oid","description":"Type of the left operand (zero for a prefix operator)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprright","type":"oid","description":"Type of the right operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprresult","type":"oid","description":"Type of the result (zero for a not-yet-defined “shell” operator)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcom","type":"oid","description":"Commutator of this operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnegate","type":"oid","description":"Negator of this operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcode","type":"regproc","description":"Function that implements this operator (zero for a not-yet-defined “shell” operator)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprrest","type":"regproc","description":"Restriction selectivity estimation function for this operator (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprjoin","type":"regproc","description":"Join selectivity estimation function for this operator (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-operator.html","source_path":"sources/postgresql/15/catalog-pg-operator.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_operator.h","definition_source_path":"sources/postgresql/15/source/pg_operator.h","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":2617,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 38.14 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprname","type":"name","description":"Name of the operator","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnamespace","type":"oid","description":"The OID of the namespace that contains this operator","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprowner","type":"oid","description":"Owner of the operator","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprkind","type":"\"char\"","description":"b = infix operator (“both”), or l = prefix operator (“left”)","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanmerge","type":"boolean","description":"This operator supports merge joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanhash","type":"boolean","description":"This operator supports hash joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprleft","type":"oid","description":"Type of the left operand (zero for a prefix operator)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprright","type":"oid","description":"Type of the right operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprresult","type":"oid","description":"Type of the result (zero for a not-yet-defined “shell” operator)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcom","type":"oid","description":"Commutator of this operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnegate","type":"oid","description":"Negator of this operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcode","type":"regproc","description":"Function that implements this operator (zero for a not-yet-defined “shell” operator)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprrest","type":"regproc","description":"Restriction selectivity estimation function for this operator (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprjoin","type":"regproc","description":"Join selectivity estimation function for this operator (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-operator.html","source_path":"sources/postgresql/16/catalog-pg-operator.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_operator.h","definition_source_path":"sources/postgresql/16/source/pg_operator.h","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":2617,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 36.14 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprname","type":"name","description":"Name of the operator","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnamespace","type":"oid","description":"The OID of the namespace that contains this operator","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprowner","type":"oid","description":"Owner of the operator","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprkind","type":"\"char\"","description":"b = infix operator (“both”), or l = prefix operator (“left”)","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanmerge","type":"boolean","description":"This operator supports merge joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanhash","type":"boolean","description":"This operator supports hash joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprleft","type":"oid","description":"Type of the left operand (zero for a prefix operator)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprright","type":"oid","description":"Type of the right operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprresult","type":"oid","description":"Type of the result (zero for a not-yet-defined “shell” operator)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcom","type":"oid","description":"Commutator of this operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnegate","type":"oid","description":"Negator of this operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcode","type":"regproc","description":"Function that implements this operator (zero for a not-yet-defined “shell” operator)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprrest","type":"regproc","description":"Restriction selectivity estimation function for this operator (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprjoin","type":"regproc","description":"Join selectivity estimation function for this operator (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-operator.html","source_path":"sources/postgresql/17/catalog-pg-operator.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_operator.h","definition_source_path":"sources/postgresql/17/source/pg_operator.h","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":2617,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 36.14 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprname","type":"name","description":"Name of the operator","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnamespace","type":"oid","description":"The OID of the namespace that contains this operator","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprowner","type":"oid","description":"Owner of the operator","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprkind","type":"\"char\"","description":"b = infix operator (“both”), or l = prefix operator (“left”)","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanmerge","type":"boolean","description":"This operator supports merge joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanhash","type":"boolean","description":"This operator supports hash joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprleft","type":"oid","description":"Type of the left operand (zero for a prefix operator)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprright","type":"oid","description":"Type of the right operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprresult","type":"oid","description":"Type of the result (zero for a not-yet-defined “shell” operator)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcom","type":"oid","description":"Commutator of this operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnegate","type":"oid","description":"Negator of this operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcode","type":"regproc","description":"Function that implements this operator (zero for a not-yet-defined “shell” operator)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprrest","type":"regproc","description":"Restriction selectivity estimation function for this operator (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprjoin","type":"regproc","description":"Join selectivity estimation function for this operator (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-operator.html","source_path":"sources/postgresql/18/catalog-pg-operator.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_operator.h","definition_source_path":"sources/postgresql/18/source/pg_operator.h","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":2617,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 36.14 for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprname","type":"name","description":"Name of the operator","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnamespace","type":"oid","description":"The OID of the namespace that contains this operator","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprowner","type":"oid","description":"Owner of the operator","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprkind","type":"\"char\"","description":"b = infix operator (“both”), or l = prefix operator (“left”)","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanmerge","type":"boolean","description":"This operator supports merge joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcanhash","type":"boolean","description":"This operator supports hash joins","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprleft","type":"oid","description":"Type of the left operand (zero for a prefix operator)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprright","type":"oid","description":"Type of the right operand","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprresult","type":"oid","description":"Type of the result (zero for a not-yet-defined “shell” operator)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcom","type":"oid","description":"Commutator of this operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprnegate","type":"oid","description":"Negator of this operator (zero if none)","references":"pg_operator.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprcode","type":"regproc","description":"Function that implements this operator (zero for a not-yet-defined “shell” operator)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprrest","type":"regproc","description":"Restriction selectivity estimation function for this operator (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"oprjoin","type":"regproc","description":"Join selectivity estimation function for this operator (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-operator.html","source_path":"sources/postgresql/19/catalog-pg-operator.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_operator.h","definition_source_path":"sources/postgresql/19/source/pg_operator.h","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":2617,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oprkind","from":"b = infix (\"both\"), l = prefix (\"left\"), r = postfix (\"right\")","to":"b = infix (“both”), l = prefix (“left”), r = postfix (“right”)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"10","to":"11","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oprcode","from":"Function that implements this operator","to":"Function that implements this operator (zero for a not-yet-defined “shell” operator)"},{"name":"oprcom","from":"Commutator of this operator, if any","to":"Commutator of this operator (zero if none)"},{"name":"oprjoin","from":"Join selectivity estimation function for this operator","to":"Join selectivity estimation function for this operator (zero if none)"},{"name":"oprkind","from":"b = infix (“both”), l = prefix (“left”), r = postfix (“right”)","to":"b = infix operator (“both”), or l = prefix operator (“left”)"},{"name":"oprleft","from":"Type of the left operand","to":"Type of the left operand (zero for a prefix operator)"},{"name":"oprnegate","from":"Negator of this operator, if any","to":"Negator of this operator (zero if none)"},{"name":"oprrest","from":"Restriction selectivity estimation function for this operator","to":"Restriction selectivity estimation function for this operator (zero if none)"},{"name":"oprresult","from":"Type of the result","to":"Type of the result (zero for a not-yet-defined “shell” operator)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_opfamily","kind":"catalog","summary":"access method operator families","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_opfamily defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular index access method. Furthermore, the operators in a family are all \"compatible\", in a way that is specified by the access method. The operator family concept allows cross-data-type operators to be used with indexes and to be reasoned about using knowledge of access method semantics.\n\nOperator families are described at length in Section 35.14.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_opfamily.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfname","type":"name","description":"Name of this operator family","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfnamespace","type":"oid","description":"Namespace of this operator family","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfowner","type":"oid","description":"Owner of the operator family","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-opfamily.html","source_path":"sources/postgresql/9.0/catalog-pg-opfamily.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_opfamily.h","definition_source_path":"sources/postgresql/9.0/source/pg_opfamily.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2753,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_opfamily defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular index access method. Furthermore, the operators in a family are all \"compatible\", in a way that is specified by the access method. The operator family concept allows cross-data-type operators to be used with indexes and to be reasoned about using knowledge of access method semantics.\n\nOperator families are described at length in Section 35.14.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_opfamily.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfname","type":"name","description":"Name of this operator family","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfnamespace","type":"oid","description":"Namespace of this operator family","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfowner","type":"oid","description":"Owner of the operator family","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-opfamily.html","source_path":"sources/postgresql/9.1/catalog-pg-opfamily.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_opfamily.h","definition_source_path":"sources/postgresql/9.1/source/pg_opfamily.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2753,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_opfamily defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular index access method. Furthermore, the operators in a family are all \"compatible\", in a way that is specified by the access method. The operator family concept allows cross-data-type operators to be used with indexes and to be reasoned about using knowledge of access method semantics.\n\nOperator families are described at length in Section 35.14.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_opfamily.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfname","type":"name","description":"Name of this operator family","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfnamespace","type":"oid","description":"Namespace of this operator family","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfowner","type":"oid","description":"Owner of the operator family","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-opfamily.html","source_path":"sources/postgresql/9.2/catalog-pg-opfamily.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_opfamily.h","definition_source_path":"sources/postgresql/9.2/source/pg_opfamily.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2753,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_opfamily defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular index access method. Furthermore, the operators in a family are all \"compatible\", in a way that is specified by the access method. The operator family concept allows cross-data-type operators to be used with indexes and to be reasoned about using knowledge of access method semantics.\n\nOperator families are described at length in Section 35.14.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfname","type":"name","description":"Name of this operator family","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfnamespace","type":"oid","description":"Namespace of this operator family","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfowner","type":"oid","description":"Owner of the operator family","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-opfamily.html","source_path":"sources/postgresql/9.3/catalog-pg-opfamily.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_opfamily.h","definition_source_path":"sources/postgresql/9.3/source/pg_opfamily.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":2753,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_opfamily defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular index access method. Furthermore, the operators in a family are all \"compatible\", in a way that is specified by the access method. The operator family concept allows cross-data-type operators to be used with indexes and to be reasoned about using knowledge of access method semantics.\n\nOperator families are described at length in Section 35.14.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfname","type":"name","description":"Name of this operator family","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfnamespace","type":"oid","description":"Namespace of this operator family","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfowner","type":"oid","description":"Owner of the operator family","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-opfamily.html","source_path":"sources/postgresql/9.4/catalog-pg-opfamily.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_opfamily.h","definition_source_path":"sources/postgresql/9.4/source/pg_opfamily.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":2753,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_opfamily defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular index access method. Furthermore, the operators in a family are all \"compatible\", in a way that is specified by the access method. The operator family concept allows cross-data-type operators to be used with indexes and to be reasoned about using knowledge of access method semantics.\n\nOperator families are described at length in Section 35.14.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfname","type":"name","description":"Name of this operator family","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfnamespace","type":"oid","description":"Namespace of this operator family","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfowner","type":"oid","description":"Owner of the operator family","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-opfamily.html","source_path":"sources/postgresql/9.5/catalog-pg-opfamily.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_opfamily.h","definition_source_path":"sources/postgresql/9.5/source/pg_opfamily.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":2753,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_opfamily defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular index access method. Furthermore, the operators in a family are all \"compatible\", in a way that is specified by the access method. The operator family concept allows cross-data-type operators to be used with indexes and to be reasoned about using knowledge of access method semantics.\n\nOperator families are described at length in Section 36.14.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfname","type":"name","description":"Name of this operator family","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfnamespace","type":"oid","description":"Namespace of this operator family","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfowner","type":"oid","description":"Owner of the operator family","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-opfamily.html","source_path":"sources/postgresql/9.6/catalog-pg-opfamily.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_opfamily.h","definition_source_path":"sources/postgresql/9.6/source/pg_opfamily.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":2753,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_opfamily defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular index access method. Furthermore, the operators in a family are all “compatible”, in a way that is specified by the access method. The operator family concept allows cross-data-type operators to be used with indexes and to be reasoned about using knowledge of access method semantics.\n\nOperator families are described at length in Section 37.14.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfname","type":"name","description":"Name of this operator family","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfnamespace","type":"oid","description":"Namespace of this operator family","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfowner","type":"oid","description":"Owner of the operator family","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-opfamily.html","source_path":"sources/postgresql/10/catalog-pg-opfamily.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_opfamily.h","definition_source_path":"sources/postgresql/10/source/pg_opfamily.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":2753,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_opfamily defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular index access method. Furthermore, the operators in a family are all “compatible”, in a way that is specified by the access method. The operator family concept allows cross-data-type operators to be used with indexes and to be reasoned about using knowledge of access method semantics.\n\nOperator families are described at length in Section 38.15.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfname","type":"name","description":"Name of this operator family","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfnamespace","type":"oid","description":"Namespace of this operator family","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfowner","type":"oid","description":"Owner of the operator family","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-opfamily.html","source_path":"sources/postgresql/11/catalog-pg-opfamily.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_opfamily.h","definition_source_path":"sources/postgresql/11/source/pg_opfamily.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":2753,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_opfamily defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular index access method. Furthermore, the operators in a family are all “compatible”, in a way that is specified by the access method. The operator family concept allows cross-data-type operators to be used with indexes and to be reasoned about using knowledge of access method semantics.\n\nOperator families are described at length in Section 37.16.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfname","type":"name","description":"Name of this operator family","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfnamespace","type":"oid","description":"Namespace of this operator family","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfowner","type":"oid","description":"Owner of the operator family","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-opfamily.html","source_path":"sources/postgresql/12/catalog-pg-opfamily.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_opfamily.h","definition_source_path":"sources/postgresql/12/source/pg_opfamily.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":2753,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_opfamily defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular index access method. Furthermore, the operators in a family are all “compatible”, in a way that is specified by the access method. The operator family concept allows cross-data-type operators to be used with indexes and to be reasoned about using knowledge of access method semantics.\n\nOperator families are described at length in Section 37.16.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfname","type":"name","description":"Name of this operator family","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfnamespace","type":"oid","description":"Namespace of this operator family","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfowner","type":"oid","description":"Owner of the operator family","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-opfamily.html","source_path":"sources/postgresql/13/catalog-pg-opfamily.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_opfamily.h","definition_source_path":"sources/postgresql/13/source/pg_opfamily.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":2753,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_opfamily defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular index access method. Furthermore, the operators in a family are all “compatible”, in a way that is specified by the access method. The operator family concept allows cross-data-type operators to be used with indexes and to be reasoned about using knowledge of access method semantics.\n\nOperator families are described at length in Section 38.16.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfname","type":"name","description":"Name of this operator family","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfnamespace","type":"oid","description":"Namespace of this operator family","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfowner","type":"oid","description":"Owner of the operator family","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-opfamily.html","source_path":"sources/postgresql/14/catalog-pg-opfamily.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_opfamily.h","definition_source_path":"sources/postgresql/14/source/pg_opfamily.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":2753,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_opfamily defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular index access method. Furthermore, the operators in a family are all “compatible”, in a way that is specified by the access method. The operator family concept allows cross-data-type operators to be used with indexes and to be reasoned about using knowledge of access method semantics.\n\nOperator families are described at length in Section 38.16.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfname","type":"name","description":"Name of this operator family","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfnamespace","type":"oid","description":"Namespace of this operator family","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfowner","type":"oid","description":"Owner of the operator family","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-opfamily.html","source_path":"sources/postgresql/15/catalog-pg-opfamily.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_opfamily.h","definition_source_path":"sources/postgresql/15/source/pg_opfamily.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":2753,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_opfamily defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular index access method. Furthermore, the operators in a family are all “compatible”, in a way that is specified by the access method. The operator family concept allows cross-data-type operators to be used with indexes and to be reasoned about using knowledge of access method semantics.\n\nOperator families are described at length in Section 38.16.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfname","type":"name","description":"Name of this operator family","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfnamespace","type":"oid","description":"Namespace of this operator family","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfowner","type":"oid","description":"Owner of the operator family","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-opfamily.html","source_path":"sources/postgresql/16/catalog-pg-opfamily.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_opfamily.h","definition_source_path":"sources/postgresql/16/source/pg_opfamily.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":2753,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_opfamily defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular index access method. Furthermore, the operators in a family are all “compatible”, in a way that is specified by the access method. The operator family concept allows cross-data-type operators to be used with indexes and to be reasoned about using knowledge of access method semantics.\n\nOperator families are described at length in Section 36.16.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfname","type":"name","description":"Name of this operator family","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfnamespace","type":"oid","description":"Namespace of this operator family","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfowner","type":"oid","description":"Owner of the operator family","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-opfamily.html","source_path":"sources/postgresql/17/catalog-pg-opfamily.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_opfamily.h","definition_source_path":"sources/postgresql/17/source/pg_opfamily.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":2753,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_opfamily defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular index access method. Furthermore, the operators in a family are all “compatible”, in a way that is specified by the access method. The operator family concept allows cross-data-type operators to be used with indexes and to be reasoned about using knowledge of access method semantics.\n\nOperator families are described at length in Section 36.16.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfname","type":"name","description":"Name of this operator family","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfnamespace","type":"oid","description":"Namespace of this operator family","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfowner","type":"oid","description":"Owner of the operator family","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-opfamily.html","source_path":"sources/postgresql/18/catalog-pg-opfamily.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_opfamily.h","definition_source_path":"sources/postgresql/18/source/pg_opfamily.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":2753,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_opfamily defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular index access method. Furthermore, the operators in a family are all “compatible”, in a way that is specified by the access method. The operator family concept allows cross-data-type operators to be used with indexes and to be reasoned about using knowledge of access method semantics.\n\nOperator families are described at length in Section 36.16.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfmethod","type":"oid","description":"Index access method operator family is for","references":"pg_am.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfname","type":"name","description":"Name of this operator family","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfnamespace","type":"oid","description":"Namespace of this operator family","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"opfowner","type":"oid","description":"Owner of the operator family","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-opfamily.html","source_path":"sources/postgresql/19/catalog-pg-opfamily.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_opfamily.h","definition_source_path":"sources/postgresql/19/source/pg_opfamily.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":2753,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"10","to":"11","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_parameter_acl","kind":"catalog","summary":"configuration parameters for which privileges have been granted","first_version":"15","last_version":"19","versions":{"15":{"description":"The catalog pg_parameter_acl records configuration parameters for which privileges have been granted to one or more roles. No entry is made for parameters that have default privileges.\n\nUnlike most system catalogs, pg_parameter_acl is shared across all databases of a cluster: there is only one copy of pg_parameter_acl per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"parname","type":"text","description":"The name of a configuration parameter for which privileges are granted","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"paracl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-parameter-acl.html","source_path":"sources/postgresql/15/catalog-pg-parameter-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_parameter_acl.h","definition_source_path":"sources/postgresql/15/source/pg_parameter_acl.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":6243,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_parameter_acl records configuration parameters for which privileges have been granted to one or more roles. No entry is made for parameters that have default privileges.\n\nUnlike most system catalogs, pg_parameter_acl is shared across all databases of a cluster: there is only one copy of pg_parameter_acl per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"parname","type":"text","description":"The name of a configuration parameter for which privileges are granted","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"paracl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-parameter-acl.html","source_path":"sources/postgresql/16/catalog-pg-parameter-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_parameter_acl.h","definition_source_path":"sources/postgresql/16/source/pg_parameter_acl.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":6243,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_parameter_acl records configuration parameters for which privileges have been granted to one or more roles. No entry is made for parameters that have default privileges.\n\nUnlike most system catalogs, pg_parameter_acl is shared across all databases of a cluster: there is only one copy of pg_parameter_acl per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"parname","type":"text","description":"The name of a configuration parameter for which privileges are granted","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"paracl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-parameter-acl.html","source_path":"sources/postgresql/17/catalog-pg-parameter-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_parameter_acl.h","definition_source_path":"sources/postgresql/17/source/pg_parameter_acl.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":6243,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_parameter_acl records configuration parameters for which privileges have been granted to one or more roles. No entry is made for parameters that have default privileges.\n\nUnlike most system catalogs, pg_parameter_acl is shared across all databases of a cluster: there is only one copy of pg_parameter_acl per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"parname","type":"text","description":"The name of a configuration parameter for which privileges are granted","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"paracl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-parameter-acl.html","source_path":"sources/postgresql/18/catalog-pg-parameter-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_parameter_acl.h","definition_source_path":"sources/postgresql/18/source/pg_parameter_acl.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":6243,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_parameter_acl records configuration parameters for which privileges have been granted to one or more roles. No entry is made for parameters that have default privileges.\n\nUnlike most system catalogs, pg_parameter_acl is shared across all databases of a cluster: there is only one copy of pg_parameter_acl per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"parname","type":"text","description":"The name of a configuration parameter for which privileges are granted","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"paracl","type":"aclitem[]","description":"Access privileges; see Section 5.9 for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-parameter-acl.html","source_path":"sources/postgresql/19/catalog-pg-parameter-acl.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_parameter_acl.h","definition_source_path":"sources/postgresql/19/source/pg_parameter_acl.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":6243,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"14","to":"15","status":"added","added_columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"parname","type":"text","description":"The name of a configuration parameter for which privileges are granted","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"paracl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"paracl","from":"Access privileges; see Section 5.7 for details","to":"Access privileges; see Section 5.8 for details"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"paracl","from":"Access privileges; see Section 5.8 for details","to":"Access privileges; see Section 5.9 for details"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_partitioned_table","kind":"catalog","summary":"information about partition key of tables","first_version":"10","last_version":"19","versions":{"10":{"description":"The catalog pg_partitioned_table stores information about how tables are partitioned.","columns":[{"name":"partrelid","type":"oid","description":"The OID of the pg_class entry for this partitioned table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partstrat","type":"\"char\"","description":"Partitioning strategy; l = list partitioned table, r = range partitioned table","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partnatts","type":"smallint","description":"The number of columns in partition key","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partattrs","type":"int2vector","description":"This is an array of partnatts values that indicate which table columns are part of the partition key. For example, a value of 1 3 would mean that the first and the third table columns make up the partition key. A zero in this array indicates that the corresponding partition key column is an expression, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partclass","type":"oidvector","description":"For each column in the partition key, this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partcollation","type":"oidvector","description":"For each column in the partition key, this contains the OID of the collation to use for partitioning, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true,"documented_references":"pg_opclass.oid","reference_note":"The catalog header identifies user-specified partition-key collations; these are collation OIDs, not operator-class OIDs.","reference_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_partitioned_table.h"},{"name":"partexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for partition key columns that are not simple column references. This is a list with one element for each zero entry in partattrs. Null if all partition key columns are simple references.","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-partitioned-table.html","source_path":"sources/postgresql/10/catalog-pg-partitioned-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_partitioned_table.h","definition_source_path":"sources/postgresql/10/source/pg_partitioned_table.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":3350,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_partitioned_table stores information about how tables are partitioned.","columns":[{"name":"partrelid","type":"oid","description":"The OID of the pg_class entry for this partitioned table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partstrat","type":"\"char\"","description":"Partitioning strategy; h = hash partitioned table, l = list partitioned table, r = range partitioned table","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partnatts","type":"smallint","description":"The number of columns in partition key","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partdefid","type":"oid","description":"The OID of the pg_class entry for the default partition of this partitioned table, or zero if this partitioned table does not have a default partition.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partattrs","type":"int2vector","description":"This is an array of partnatts values that indicate which table columns are part of the partition key. For example, a value of 1 3 would mean that the first and the third table columns make up the partition key. A zero in this array indicates that the corresponding partition key column is an expression, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partclass","type":"oidvector","description":"For each column in the partition key, this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partcollation","type":"oidvector","description":"For each column in the partition key, this contains the OID of the collation to use for partitioning, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":true,"documented_references":"pg_opclass.oid","reference_note":"The catalog header identifies user-specified partition-key collations; these are collation OIDs, not operator-class OIDs.","reference_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_partitioned_table.h"},{"name":"partexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for partition key columns that are not simple column references. This is a list with one element for each zero entry in partattrs. Null if all partition key columns are simple references.","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-partitioned-table.html","source_path":"sources/postgresql/11/catalog-pg-partitioned-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_partitioned_table.h","definition_source_path":"sources/postgresql/11/source/pg_partitioned_table.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3350,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_partitioned_table stores information about how tables are partitioned.","columns":[{"name":"partrelid","type":"oid","description":"The OID of the pg_class entry for this partitioned table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partstrat","type":"\"char\"","description":"Partitioning strategy; h = hash partitioned table, l = list partitioned table, r = range partitioned table","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partnatts","type":"smallint","description":"The number of columns in partition key","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partdefid","type":"oid","description":"The OID of the pg_class entry for the default partition of this partitioned table, or zero if this partitioned table does not have a default partition.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partattrs","type":"int2vector","description":"This is an array of partnatts values that indicate which table columns are part of the partition key. For example, a value of 1 3 would mean that the first and the third table columns make up the partition key. A zero in this array indicates that the corresponding partition key column is an expression, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partclass","type":"oidvector","description":"For each column in the partition key, this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partcollation","type":"oidvector","description":"For each column in the partition key, this contains the OID of the collation to use for partitioning, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":true,"documented_references":"pg_opclass.oid","reference_note":"The catalog header identifies user-specified partition-key collations; these are collation OIDs, not operator-class OIDs.","reference_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_partitioned_table.h"},{"name":"partexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for partition key columns that are not simple column references. This is a list with one element for each zero entry in partattrs. Null if all partition key columns are simple references.","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-partitioned-table.html","source_path":"sources/postgresql/12/catalog-pg-partitioned-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_partitioned_table.h","definition_source_path":"sources/postgresql/12/source/pg_partitioned_table.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3350,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_partitioned_table stores information about how tables are partitioned.","columns":[{"name":"partrelid","type":"oid","description":"The OID of the pg_class entry for this partitioned table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partstrat","type":"\"char\"","description":"Partitioning strategy; h = hash partitioned table, l = list partitioned table, r = range partitioned table","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partnatts","type":"smallint","description":"The number of columns in partition key","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partdefid","type":"oid","description":"The OID of the pg_class entry for the default partition of this partitioned table, or zero if this partitioned table does not have a default partition.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partattrs","type":"int2vector","description":"This is an array of partnatts values that indicate which table columns are part of the partition key. For example, a value of 1 3 would mean that the first and the third table columns make up the partition key. A zero in this array indicates that the corresponding partition key column is an expression, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partclass","type":"oidvector","description":"For each column in the partition key, this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partcollation","type":"oidvector","description":"For each column in the partition key, this contains the OID of the collation to use for partitioning, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for partition key columns that are not simple column references. This is a list with one element for each zero entry in partattrs. Null if all partition key columns are simple references.","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-partitioned-table.html","source_path":"sources/postgresql/13/catalog-pg-partitioned-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_partitioned_table.h","definition_source_path":"sources/postgresql/13/source/pg_partitioned_table.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3350,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_partitioned_table stores information about how tables are partitioned.","columns":[{"name":"partrelid","type":"oid","description":"The OID of the pg_class entry for this partitioned table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partstrat","type":"\"char\"","description":"Partitioning strategy; h = hash partitioned table, l = list partitioned table, r = range partitioned table","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partnatts","type":"smallint","description":"The number of columns in the partition key","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partdefid","type":"oid","description":"The OID of the pg_class entry for the default partition of this partitioned table, or zero if this partitioned table does not have a default partition","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partattrs","type":"int2vector","description":"This is an array of partnatts values that indicate which table columns are part of the partition key. For example, a value of 1 3 would mean that the first and the third table columns make up the partition key. A zero in this array indicates that the corresponding partition key column is an expression, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partclass","type":"oidvector","description":"For each column in the partition key, this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partcollation","type":"oidvector","description":"For each column in the partition key, this contains the OID of the collation to use for partitioning, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for partition key columns that are not simple column references. This is a list with one element for each zero entry in partattrs. Null if all partition key columns are simple references.","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-partitioned-table.html","source_path":"sources/postgresql/14/catalog-pg-partitioned-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_partitioned_table.h","definition_source_path":"sources/postgresql/14/source/pg_partitioned_table.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3350,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_partitioned_table stores information about how tables are partitioned.","columns":[{"name":"partrelid","type":"oid","description":"The OID of the pg_class entry for this partitioned table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partstrat","type":"\"char\"","description":"Partitioning strategy; h = hash partitioned table, l = list partitioned table, r = range partitioned table","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partnatts","type":"smallint","description":"The number of columns in the partition key","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partdefid","type":"oid","description":"The OID of the pg_class entry for the default partition of this partitioned table, or zero if this partitioned table does not have a default partition","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partattrs","type":"int2vector","description":"This is an array of partnatts values that indicate which table columns are part of the partition key. For example, a value of 1 3 would mean that the first and the third table columns make up the partition key. A zero in this array indicates that the corresponding partition key column is an expression, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partclass","type":"oidvector","description":"For each column in the partition key, this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partcollation","type":"oidvector","description":"For each column in the partition key, this contains the OID of the collation to use for partitioning, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for partition key columns that are not simple column references. This is a list with one element for each zero entry in partattrs. Null if all partition key columns are simple references.","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-partitioned-table.html","source_path":"sources/postgresql/15/catalog-pg-partitioned-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_partitioned_table.h","definition_source_path":"sources/postgresql/15/source/pg_partitioned_table.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3350,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_partitioned_table stores information about how tables are partitioned.","columns":[{"name":"partrelid","type":"oid","description":"The OID of the pg_class entry for this partitioned table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partstrat","type":"\"char\"","description":"Partitioning strategy; h = hash partitioned table, l = list partitioned table, r = range partitioned table","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partnatts","type":"smallint","description":"The number of columns in the partition key","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partdefid","type":"oid","description":"The OID of the pg_class entry for the default partition of this partitioned table, or zero if this partitioned table does not have a default partition","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partattrs","type":"int2vector","description":"This is an array of partnatts values that indicate which table columns are part of the partition key. For example, a value of 1 3 would mean that the first and the third table columns make up the partition key. A zero in this array indicates that the corresponding partition key column is an expression, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partclass","type":"oidvector","description":"For each column in the partition key, this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partcollation","type":"oidvector","description":"For each column in the partition key, this contains the OID of the collation to use for partitioning, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for partition key columns that are not simple column references. This is a list with one element for each zero entry in partattrs. Null if all partition key columns are simple references.","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-partitioned-table.html","source_path":"sources/postgresql/16/catalog-pg-partitioned-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_partitioned_table.h","definition_source_path":"sources/postgresql/16/source/pg_partitioned_table.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3350,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_partitioned_table stores information about how tables are partitioned.","columns":[{"name":"partrelid","type":"oid","description":"The OID of the pg_class entry for this partitioned table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partstrat","type":"\"char\"","description":"Partitioning strategy; h = hash partitioned table, l = list partitioned table, r = range partitioned table","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partnatts","type":"smallint","description":"The number of columns in the partition key","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partdefid","type":"oid","description":"The OID of the pg_class entry for the default partition of this partitioned table, or zero if this partitioned table does not have a default partition","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partattrs","type":"int2vector","description":"This is an array of partnatts values that indicate which table columns are part of the partition key. For example, a value of 1 3 would mean that the first and the third table columns make up the partition key. A zero in this array indicates that the corresponding partition key column is an expression, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partclass","type":"oidvector","description":"For each column in the partition key, this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partcollation","type":"oidvector","description":"For each column in the partition key, this contains the OID of the collation to use for partitioning, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for partition key columns that are not simple column references. This is a list with one element for each zero entry in partattrs. Null if all partition key columns are simple references.","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-partitioned-table.html","source_path":"sources/postgresql/17/catalog-pg-partitioned-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_partitioned_table.h","definition_source_path":"sources/postgresql/17/source/pg_partitioned_table.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3350,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_partitioned_table stores information about how tables are partitioned.","columns":[{"name":"partrelid","type":"oid","description":"The OID of the pg_class entry for this partitioned table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partstrat","type":"\"char\"","description":"Partitioning strategy; h = hash partitioned table, l = list partitioned table, r = range partitioned table","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partnatts","type":"smallint","description":"The number of columns in the partition key","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partdefid","type":"oid","description":"The OID of the pg_class entry for the default partition of this partitioned table, or zero if this partitioned table does not have a default partition","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partattrs","type":"int2vector","description":"This is an array of partnatts values that indicate which table columns are part of the partition key. For example, a value of 1 3 would mean that the first and the third table columns make up the partition key. A zero in this array indicates that the corresponding partition key column is an expression, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partclass","type":"oidvector","description":"For each column in the partition key, this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partcollation","type":"oidvector","description":"For each column in the partition key, this contains the OID of the collation to use for partitioning, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for partition key columns that are not simple column references. This is a list with one element for each zero entry in partattrs. Null if all partition key columns are simple references.","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-partitioned-table.html","source_path":"sources/postgresql/18/catalog-pg-partitioned-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_partitioned_table.h","definition_source_path":"sources/postgresql/18/source/pg_partitioned_table.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3350,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_partitioned_table stores information about how tables are partitioned.","columns":[{"name":"partrelid","type":"oid","description":"The OID of the pg_class entry for this partitioned table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partstrat","type":"\"char\"","description":"Partitioning strategy; h = hash partitioned table, l = list partitioned table, r = range partitioned table","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partnatts","type":"smallint","description":"The number of columns in the partition key","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partdefid","type":"oid","description":"The OID of the pg_class entry for the default partition of this partitioned table, or zero if this partitioned table does not have a default partition","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partattrs","type":"int2vector","description":"This is an array of partnatts values that indicate which table columns are part of the partition key. For example, a value of 1 3 would mean that the first and the third table columns make up the partition key. A zero in this array indicates that the corresponding partition key column is an expression, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partclass","type":"oidvector","description":"For each column in the partition key, this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partcollation","type":"oidvector","description":"For each column in the partition key, this contains the OID of the collation to use for partitioning, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for partition key columns that are not simple column references. This is a list with one element for each zero entry in partattrs. Null if all partition key columns are simple references.","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-partitioned-table.html","source_path":"sources/postgresql/19/catalog-pg-partitioned-table.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_partitioned_table.h","definition_source_path":"sources/postgresql/19/source/pg_partitioned_table.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3350,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.6","to":"10","status":"added","added_columns":[{"name":"partrelid","type":"oid","description":"The OID of the pg_class entry for this partitioned table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partstrat","type":"\"char\"","description":"Partitioning strategy; l = list partitioned table, r = range partitioned table","documented_type":"char","hidden":false,"type_oid":18,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partnatts","type":"smallint","description":"The number of columns in partition key","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"partattrs","type":"int2vector","description":"This is an array of partnatts values that indicate which table columns are part of the partition key. For example, a value of 1 3 would mean that the first and the third table columns make up the partition key. A zero in this array indicates that the corresponding partition key column is an expression, rather than a simple column reference.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partclass","type":"oidvector","description":"For each column in the partition key, this contains the OID of the operator class to use. See pg_opclass for details.","references":"pg_opclass.oid","hidden":false,"type_oid":30,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"partcollation","type":"oidvector","description":"For each column in the partition key, this contains the OID of the collation to use for partitioning, or zero if the column is not of a collatable data type.","references":"pg_collation.oid","hidden":false,"type_oid":30,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true,"documented_references":"pg_opclass.oid","reference_note":"The catalog header identifies user-specified partition-key collations; these are collation OIDs, not operator-class OIDs.","reference_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_partitioned_table.h"},{"name":"partexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for partition key columns that are not simple column references. This is a list with one element for each zero entry in partattrs. Null if all partition key columns are simple references.","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"10","to":"11","status":"changed","added_columns":[{"name":"partdefid","type":"oid","description":"The OID of the pg_class entry for the default partition of this partitioned table, or zero if this partitioned table does not have a default partition.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"partstrat","from":"Partitioning strategy; l = list partitioned table, r = range partitioned table","to":"Partitioning strategy; h = hash partitioned table, l = list partitioned table, r = range partitioned table"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"partdefid","from":"The OID of the pg_class entry for the default partition of this partitioned table, or zero if this partitioned table does not have a default partition.","to":"The OID of the pg_class entry for the default partition of this partitioned table, or zero if this partitioned table does not have a default partition"},{"name":"partnatts","from":"The number of columns in partition key","to":"The number of columns in the partition key"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_pltemplate","kind":"catalog","summary":"template data for procedural languages","first_version":"9.0","last_version":"12","versions":{"9.0":{"description":"The catalog pg_pltemplate stores \"template\" information for procedural languages. A template for a language allows the language to be created in a particular database by a simple CREATE LANGUAGE command, with no need to specify implementation details.\n\nUnlike most system catalogs, pg_pltemplate is shared across all databases of a cluster: there is only one copy of pg_pltemplate per cluster, not one per database. This allows the information to be accessible in each database as it is needed.","columns":[{"name":"tmplname","type":"name","description":"Name of the language this template is for","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpltrusted","type":"boolean","description":"True if language is considered trusted","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpldbacreate","type":"boolean","description":"True if language may be created by a database owner","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplhandler","type":"text","description":"Name of call handler function","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplinline","type":"text","description":"Name of anonymous-block handler function, or null if none","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplvalidator","type":"text","description":"Name of validator function, or null if none","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmpllibrary","type":"text","description":"Path of shared library that implements language","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplacl","type":"aclitem[]","description":"Access privileges for template (not yet used)","hidden":false,"type_oid":1034,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-pltemplate.html","source_path":"sources/postgresql/9.0/catalog-pg-pltemplate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_pltemplate.h","definition_source_path":"sources/postgresql/9.0/source/pg_pltemplate.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1136,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_pltemplate stores \"template\" information for procedural languages. A template for a language allows the language to be created in a particular database by a simple CREATE LANGUAGE command, with no need to specify implementation details.\n\nUnlike most system catalogs, pg_pltemplate is shared across all databases of a cluster: there is only one copy of pg_pltemplate per cluster, not one per database. This allows the information to be accessible in each database as it is needed.","columns":[{"name":"tmplname","type":"name","description":"Name of the language this template is for","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpltrusted","type":"boolean","description":"True if language is considered trusted","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpldbacreate","type":"boolean","description":"True if language may be created by a database owner","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplhandler","type":"text","description":"Name of call handler function","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplinline","type":"text","description":"Name of anonymous-block handler function, or null if none","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplvalidator","type":"text","description":"Name of validator function, or null if none","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmpllibrary","type":"text","description":"Path of shared library that implements language","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplacl","type":"aclitem[]","description":"Access privileges for template (not actually used)","hidden":false,"type_oid":1034,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-pltemplate.html","source_path":"sources/postgresql/9.1/catalog-pg-pltemplate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_pltemplate.h","definition_source_path":"sources/postgresql/9.1/source/pg_pltemplate.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1136,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_pltemplate stores \"template\" information for procedural languages. A template for a language allows the language to be created in a particular database by a simple CREATE LANGUAGE command, with no need to specify implementation details.\n\nUnlike most system catalogs, pg_pltemplate is shared across all databases of a cluster: there is only one copy of pg_pltemplate per cluster, not one per database. This allows the information to be accessible in each database as it is needed.","columns":[{"name":"tmplname","type":"name","description":"Name of the language this template is for","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpltrusted","type":"boolean","description":"True if language is considered trusted","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpldbacreate","type":"boolean","description":"True if language may be created by a database owner","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplhandler","type":"text","description":"Name of call handler function","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplinline","type":"text","description":"Name of anonymous-block handler function, or null if none","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplvalidator","type":"text","description":"Name of validator function, or null if none","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmpllibrary","type":"text","description":"Path of shared library that implements language","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplacl","type":"aclitem[]","description":"Access privileges for template (not actually used)","hidden":false,"type_oid":1034,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-pltemplate.html","source_path":"sources/postgresql/9.2/catalog-pg-pltemplate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_pltemplate.h","definition_source_path":"sources/postgresql/9.2/source/pg_pltemplate.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1136,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_pltemplate stores \"template\" information for procedural languages. A template for a language allows the language to be created in a particular database by a simple CREATE LANGUAGE command, with no need to specify implementation details.\n\nUnlike most system catalogs, pg_pltemplate is shared across all databases of a cluster: there is only one copy of pg_pltemplate per cluster, not one per database. This allows the information to be accessible in each database as it is needed.","columns":[{"name":"tmplname","type":"name","description":"Name of the language this template is for","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpltrusted","type":"boolean","description":"True if language is considered trusted","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpldbacreate","type":"boolean","description":"True if language may be created by a database owner","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplhandler","type":"text","description":"Name of call handler function","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplinline","type":"text","description":"Name of anonymous-block handler function, or null if none","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplvalidator","type":"text","description":"Name of validator function, or null if none","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmpllibrary","type":"text","description":"Path of shared library that implements language","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplacl","type":"aclitem[]","description":"Access privileges for template (not actually used)","hidden":false,"type_oid":1034,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-pltemplate.html","source_path":"sources/postgresql/9.3/catalog-pg-pltemplate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_pltemplate.h","definition_source_path":"sources/postgresql/9.3/source/pg_pltemplate.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1136,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_pltemplate stores \"template\" information for procedural languages. A template for a language allows the language to be created in a particular database by a simple CREATE LANGUAGE command, with no need to specify implementation details.\n\nUnlike most system catalogs, pg_pltemplate is shared across all databases of a cluster: there is only one copy of pg_pltemplate per cluster, not one per database. This allows the information to be accessible in each database as it is needed.","columns":[{"name":"tmplname","type":"name","description":"Name of the language this template is for","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpltrusted","type":"boolean","description":"True if language is considered trusted","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpldbacreate","type":"boolean","description":"True if language may be created by a database owner","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplhandler","type":"text","description":"Name of call handler function","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplinline","type":"text","description":"Name of anonymous-block handler function, or null if none","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplvalidator","type":"text","description":"Name of validator function, or null if none","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmpllibrary","type":"text","description":"Path of shared library that implements language","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplacl","type":"aclitem[]","description":"Access privileges for template (not actually used)","hidden":false,"type_oid":1034,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-pltemplate.html","source_path":"sources/postgresql/9.4/catalog-pg-pltemplate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_pltemplate.h","definition_source_path":"sources/postgresql/9.4/source/pg_pltemplate.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1136,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_pltemplate stores \"template\" information for procedural languages. A template for a language allows the language to be created in a particular database by a simple CREATE LANGUAGE command, with no need to specify implementation details.\n\nUnlike most system catalogs, pg_pltemplate is shared across all databases of a cluster: there is only one copy of pg_pltemplate per cluster, not one per database. This allows the information to be accessible in each database as it is needed.","columns":[{"name":"tmplname","type":"name","description":"Name of the language this template is for","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpltrusted","type":"boolean","description":"True if language is considered trusted","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpldbacreate","type":"boolean","description":"True if language may be created by a database owner","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplhandler","type":"text","description":"Name of call handler function","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinline","type":"text","description":"Name of anonymous-block handler function, or null if none","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplvalidator","type":"text","description":"Name of validator function, or null if none","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmpllibrary","type":"text","description":"Path of shared library that implements language","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplacl","type":"aclitem[]","description":"Access privileges for template (not actually used)","hidden":false,"type_oid":1034,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-pltemplate.html","source_path":"sources/postgresql/9.5/catalog-pg-pltemplate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_pltemplate.h","definition_source_path":"sources/postgresql/9.5/source/pg_pltemplate.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1136,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_pltemplate stores \"template\" information for procedural languages. A template for a language allows the language to be created in a particular database by a simple CREATE LANGUAGE command, with no need to specify implementation details.\n\nUnlike most system catalogs, pg_pltemplate is shared across all databases of a cluster: there is only one copy of pg_pltemplate per cluster, not one per database. This allows the information to be accessible in each database as it is needed.","columns":[{"name":"tmplname","type":"name","description":"Name of the language this template is for","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpltrusted","type":"boolean","description":"True if language is considered trusted","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpldbacreate","type":"boolean","description":"True if language may be created by a database owner","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplhandler","type":"text","description":"Name of call handler function","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinline","type":"text","description":"Name of anonymous-block handler function, or null if none","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplvalidator","type":"text","description":"Name of validator function, or null if none","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmpllibrary","type":"text","description":"Path of shared library that implements language","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplacl","type":"aclitem[]","description":"Access privileges for template (not actually used)","hidden":false,"type_oid":1034,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-pltemplate.html","source_path":"sources/postgresql/9.6/catalog-pg-pltemplate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_pltemplate.h","definition_source_path":"sources/postgresql/9.6/source/pg_pltemplate.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1136,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_pltemplate stores “template” information for procedural languages. A template for a language allows the language to be created in a particular database by a simple CREATE LANGUAGE command, with no need to specify implementation details.\n\nUnlike most system catalogs, pg_pltemplate is shared across all databases of a cluster: there is only one copy of pg_pltemplate per cluster, not one per database. This allows the information to be accessible in each database as it is needed.","columns":[{"name":"tmplname","type":"name","description":"Name of the language this template is for","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpltrusted","type":"boolean","description":"True if language is considered trusted","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpldbacreate","type":"boolean","description":"True if language may be created by a database owner","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplhandler","type":"text","description":"Name of call handler function","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinline","type":"text","description":"Name of anonymous-block handler function, or null if none","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplvalidator","type":"text","description":"Name of validator function, or null if none","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmpllibrary","type":"text","description":"Path of shared library that implements language","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplacl","type":"aclitem[]","description":"Access privileges for template (not actually used)","hidden":false,"type_oid":1034,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-pltemplate.html","source_path":"sources/postgresql/10/catalog-pg-pltemplate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_pltemplate.h","definition_source_path":"sources/postgresql/10/source/pg_pltemplate.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1136,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_pltemplate stores “template” information for procedural languages. A template for a language allows the language to be created in a particular database by a simple CREATE LANGUAGE command, with no need to specify implementation details.\n\nUnlike most system catalogs, pg_pltemplate is shared across all databases of a cluster: there is only one copy of pg_pltemplate per cluster, not one per database. This allows the information to be accessible in each database as it is needed.","columns":[{"name":"tmplname","type":"name","description":"Name of the language this template is for","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpltrusted","type":"boolean","description":"True if language is considered trusted","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpldbacreate","type":"boolean","description":"True if language may be created by a database owner","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplhandler","type":"text","description":"Name of call handler function","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinline","type":"text","description":"Name of anonymous-block handler function, or null if none","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplvalidator","type":"text","description":"Name of validator function, or null if none","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmpllibrary","type":"text","description":"Path of shared library that implements language","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplacl","type":"aclitem[]","description":"Access privileges for template (not actually used)","hidden":false,"type_oid":1034,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-pltemplate.html","source_path":"sources/postgresql/11/catalog-pg-pltemplate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_pltemplate.h","definition_source_path":"sources/postgresql/11/source/pg_pltemplate.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1136,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_pltemplate stores “template” information for procedural languages. A template for a language allows the language to be created in a particular database by a simple CREATE LANGUAGE command, with no need to specify implementation details.\n\nUnlike most system catalogs, pg_pltemplate is shared across all databases of a cluster: there is only one copy of pg_pltemplate per cluster, not one per database. This allows the information to be accessible in each database as it is needed.","columns":[{"name":"tmplname","type":"name","description":"Name of the language this template is for","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpltrusted","type":"boolean","description":"True if language is considered trusted","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpldbacreate","type":"boolean","description":"True if language may be created by a database owner","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplhandler","type":"text","description":"Name of call handler function","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinline","type":"text","description":"Name of anonymous-block handler function, or null if none","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplvalidator","type":"text","description":"Name of validator function, or null if none","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmpllibrary","type":"text","description":"Path of shared library that implements language","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplacl","type":"aclitem[]","description":"Access privileges for template (not actually used)","hidden":false,"type_oid":1034,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-pltemplate.html","source_path":"sources/postgresql/12/catalog-pg-pltemplate.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_pltemplate.h","definition_source_path":"sources/postgresql/12/source/pg_pltemplate.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":1136,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"tmplacl","from":"Access privileges for template (not yet used)","to":"Access privileges for template (not actually used)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[{"name":"tmplhandler","attribute":"not_null","from":false,"to":true},{"name":"tmpllibrary","attribute":"not_null","from":false,"to":true}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"removed","added_columns":[],"removed_columns":[{"name":"tmplname","type":"name","description":"Name of the language this template is for","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpltrusted","type":"boolean","description":"True if language is considered trusted","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpldbacreate","type":"boolean","description":"True if language may be created by a database owner","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplhandler","type":"text","description":"Name of call handler function","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinline","type":"text","description":"Name of anonymous-block handler function, or null if none","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmplvalidator","type":"text","description":"Name of validator function, or null if none","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tmpllibrary","type":"text","description":"Path of shared library that implements language","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplacl","type":"aclitem[]","description":"Access privileges for template (not actually used)","hidden":false,"type_oid":1034,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_policies","kind":"view","summary":"The view pg_policies provides access to useful information about each row-level security policy in the database.","first_version":"9.5","last_version":"19","versions":{"9.5":{"description":"The view pg_policies provides access to useful information about each row-level security policy in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table policy is on","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table policy is on","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"policyname","type":"name","description":"Name of policy","references":"pg_policy.polname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"roles","type":"name[]","description":"The roles to which this policy applies","hidden":false,"type_oid":1003,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cmd","type":"text","description":"The command type to which the policy is applied","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"qual","type":"text","description":"The expression added to the security barrier qualifications for queries that this policy applies to","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"with_check","type":"text","description":"The expression added to the WITH CHECK qualifications for queries that attempt to add rows to this table","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-policies.html","source_path":"sources/postgresql/9.5/view-pg-policies.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11645,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The view pg_policies provides access to useful information about each row-level security policy in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table policy is on","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table policy is on","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"policyname","type":"name","description":"Name of policy","references":"pg_policy.polname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"roles","type":"name[]","description":"The roles to which this policy applies","hidden":false,"type_oid":1003,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cmd","type":"text","description":"The command type to which the policy is applied","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"qual","type":"text","description":"The expression added to the security barrier qualifications for queries that this policy applies to","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"with_check","type":"text","description":"The expression added to the WITH CHECK qualifications for queries that attempt to add rows to this table","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-policies.html","source_path":"sources/postgresql/9.6/view-pg-policies.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11667,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The view pg_policies provides access to useful information about each row-level security policy in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table policy is on","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table policy is on","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"policyname","type":"name","description":"Name of policy","references":"pg_policy.polname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"permissive","type":"text","description":"Is the policy permissive or restrictive?","documented_name":"polpermissive","schema_note":"The documentation misspells this view output. The release SQL definition and runtime both name it permissive.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"roles","type":"name[]","description":"The roles to which this policy applies","hidden":false,"type_oid":1003,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cmd","type":"text","description":"The command type to which the policy is applied","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"qual","type":"text","description":"The expression added to the security barrier qualifications for queries that this policy applies to","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"with_check","type":"text","description":"The expression added to the WITH CHECK qualifications for queries that attempt to add rows to this table","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-policies.html","source_path":"sources/postgresql/10/view-pg-policies.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11541,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_policies provides access to useful information about each row-level security policy in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table policy is on","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table policy is on","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"policyname","type":"name","description":"Name of policy","references":"pg_policy.polname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"permissive","type":"text","description":"Is the policy permissive or restrictive?","documented_name":"polpermissive","schema_note":"The documentation misspells this view output. The release SQL definition and runtime both name it permissive.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"roles","type":"name[]","description":"The roles to which this policy applies","hidden":false,"type_oid":1003,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cmd","type":"text","description":"The command type to which the policy is applied","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"qual","type":"text","description":"The expression added to the security barrier qualifications for queries that this policy applies to","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"with_check","type":"text","description":"The expression added to the WITH CHECK qualifications for queries that attempt to add rows to this table","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-policies.html","source_path":"sources/postgresql/11/view-pg-policies.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11609,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_policies provides access to useful information about each row-level security policy in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table policy is on","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table policy is on","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"policyname","type":"name","description":"Name of policy","references":"pg_policy.polname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"permissive","type":"text","description":"Is the policy permissive or restrictive?","documented_name":"polpermissive","schema_note":"The documentation misspells this view output. The release SQL definition and runtime both name it permissive.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"roles","type":"name[]","description":"The roles to which this policy applies","hidden":false,"type_oid":1003,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cmd","type":"text","description":"The command type to which the policy is applied","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"qual","type":"text","description":"The expression added to the security barrier qualifications for queries that this policy applies to","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"with_check","type":"text","description":"The expression added to the WITH CHECK qualifications for queries that attempt to add rows to this table","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-policies.html","source_path":"sources/postgresql/12/view-pg-policies.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12103,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_policies provides access to useful information about each row-level security policy in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table policy is on","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table policy is on","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"policyname","type":"name","description":"Name of policy","references":"pg_policy.polname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"permissive","type":"text","description":"Is the policy permissive or restrictive?","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"roles","type":"name[]","description":"The roles to which this policy applies","hidden":false,"type_oid":1003,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cmd","type":"text","description":"The command type to which the policy is applied","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"qual","type":"text","description":"The expression added to the security barrier qualifications for queries that this policy applies to","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"with_check","type":"text","description":"The expression added to the WITH CHECK qualifications for queries that attempt to add rows to this table","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-policies.html","source_path":"sources/postgresql/13/view-pg-policies.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12101,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_policies provides access to useful information about each row-level security policy in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table policy is on","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table policy is on","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"policyname","type":"name","description":"Name of policy","references":"pg_policy.polname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"permissive","type":"text","description":"Is the policy permissive or restrictive?","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"roles","type":"name[]","description":"The roles to which this policy applies","hidden":false,"type_oid":1003,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cmd","type":"text","description":"The command type to which the policy is applied","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"qual","type":"text","description":"The expression added to the security barrier qualifications for queries that this policy applies to","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"with_check","type":"text","description":"The expression added to the WITH CHECK qualifications for queries that attempt to add rows to this table","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-policies.html","source_path":"sources/postgresql/14/view-pg-policies.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12235,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_policies provides access to useful information about each row-level security policy in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table policy is on","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table policy is on","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"policyname","type":"name","description":"Name of policy","references":"pg_policy.polname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"permissive","type":"text","description":"Is the policy permissive or restrictive?","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"roles","type":"name[]","description":"The roles to which this policy applies","hidden":false,"type_oid":1003,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cmd","type":"text","description":"The command type to which the policy is applied","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"qual","type":"text","description":"The expression added to the security barrier qualifications for queries that this policy applies to","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"with_check","type":"text","description":"The expression added to the WITH CHECK qualifications for queries that attempt to add rows to this table","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-policies.html","source_path":"sources/postgresql/15/view-pg-policies.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12018,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_policies provides access to useful information about each row-level security policy in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table policy is on","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table policy is on","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"policyname","type":"name","description":"Name of policy","references":"pg_policy.polname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"permissive","type":"text","description":"Is the policy permissive or restrictive?","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"roles","type":"name[]","description":"The roles to which this policy applies","hidden":false,"type_oid":1003,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cmd","type":"text","description":"The command type to which the policy is applied","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"qual","type":"text","description":"The expression added to the security barrier qualifications for queries that this policy applies to","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"with_check","type":"text","description":"The expression added to the WITH CHECK qualifications for queries that attempt to add rows to this table","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-policies.html","source_path":"sources/postgresql/16/view-pg-policies.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12018,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_policies provides access to useful information about each row-level security policy in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table policy is on","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table policy is on","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"policyname","type":"name","description":"Name of policy","references":"pg_policy.polname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"permissive","type":"text","description":"Is the policy permissive or restrictive?","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"roles","type":"name[]","description":"The roles to which this policy applies","hidden":false,"type_oid":1003,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cmd","type":"text","description":"The command type to which the policy is applied","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"qual","type":"text","description":"The expression added to the security barrier qualifications for queries that this policy applies to","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"with_check","type":"text","description":"The expression added to the WITH CHECK qualifications for queries that attempt to add rows to this table","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-policies.html","source_path":"sources/postgresql/17/view-pg-policies.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12018,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_policies provides access to useful information about each row-level security policy in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table policy is on","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table policy is on","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"policyname","type":"name","description":"Name of policy","references":"pg_policy.polname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"permissive","type":"text","description":"Is the policy permissive or restrictive?","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"roles","type":"name[]","description":"The roles to which this policy applies","hidden":false,"type_oid":1003,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cmd","type":"text","description":"The command type to which the policy is applied","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"qual","type":"text","description":"The expression added to the security barrier qualifications for queries that this policy applies to","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"with_check","type":"text","description":"The expression added to the WITH CHECK qualifications for queries that attempt to add rows to this table","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-policies.html","source_path":"sources/postgresql/18/view-pg-policies.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12018,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_policies provides access to useful information about each row-level security policy in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table policy is on","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table policy is on","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"policyname","type":"name","description":"Name of policy","references":"pg_policy.polname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"permissive","type":"text","description":"Is the policy permissive or restrictive?","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"roles","type":"name[]","description":"The roles to which this policy applies","hidden":false,"type_oid":1003,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cmd","type":"text","description":"The command type to which the policy is applied","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"qual","type":"text","description":"The expression added to the security barrier qualifications for queries that this policy applies to","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"with_check","type":"text","description":"The expression added to the WITH CHECK qualifications for queries that attempt to add rows to this table","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-policies.html","source_path":"sources/postgresql/19/view-pg-policies.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12018,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.4","to":"9.5","status":"added","added_columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table policy is on","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table policy is on","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"policyname","type":"name","description":"Name of policy","references":"pg_policy.polname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"roles","type":"name[]","description":"The roles to which this policy applies","hidden":false,"type_oid":1003,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cmd","type":"text","description":"The command type to which the policy is applied","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"qual","type":"text","description":"The expression added to the security barrier qualifications for queries that this policy applies to","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"with_check","type":"text","description":"The expression added to the WITH CHECK qualifications for queries that attempt to add rows to this table","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.6","to":"10","status":"changed","added_columns":[{"name":"permissive","type":"text","description":"Is the policy permissive or restrictive?","documented_name":"polpermissive","schema_note":"The documentation misspells this view output. The release SQL definition and runtime both name it permissive.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_policy","kind":"catalog","summary":"row-security policies","first_version":"9.5","last_version":"19","versions":{"9.5":{"description":"The catalog pg_policy stores row level security policies for tables. A policy includes the kind of command that it applies to (possibly all commands), the roles that it applies to, the expression to be added as a security-barrier qualification to queries that include the table, and the expression to be added as a WITH CHECK option for queries that attempt to add new records to the table.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_policy.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polname","type":"name","description":"The name of the policy","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polrelid","type":"oid","description":"The table to which the policy applies","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polcmd","type":"\"char\"","description":"The command type to which the policy is applied: r for SELECT, a for INSERT, w for UPDATE, d for DELETE, or * for all","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polroles","type":"oid[]","description":"The roles to which the policy is applied","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"polqual","type":"pg_node_tree","description":"The expression tree to be added to the security barrier qualifications for queries that use the table","hidden":false,"type_oid":194,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"polwithcheck","type":"pg_node_tree","description":"The expression tree to be added to the WITH CHECK qualifications for queries that attempt to add rows to the table","hidden":false,"type_oid":194,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-policy.html","source_path":"sources/postgresql/9.5/catalog-pg-policy.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_policy.h","definition_source_path":"sources/postgresql/9.5/source/pg_policy.h","source_column_count":7,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3256,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_policy stores row level security policies for tables. A policy includes the kind of command that it applies to (possibly all commands), the roles that it applies to, the expression to be added as a security-barrier qualification to queries that include the table, and the expression to be added as a WITH CHECK option for queries that attempt to add new records to the table.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_policy.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polname","type":"name","description":"The name of the policy","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polrelid","type":"oid","description":"The table to which the policy applies","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polcmd","type":"\"char\"","description":"The command type to which the policy is applied: r for SELECT, a for INSERT, w for UPDATE, d for DELETE, or * for all","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polroles","type":"oid[]","description":"The roles to which the policy is applied","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"polqual","type":"pg_node_tree","description":"The expression tree to be added to the security barrier qualifications for queries that use the table","hidden":false,"type_oid":194,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"polwithcheck","type":"pg_node_tree","description":"The expression tree to be added to the WITH CHECK qualifications for queries that attempt to add rows to the table","hidden":false,"type_oid":194,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-policy.html","source_path":"sources/postgresql/9.6/catalog-pg-policy.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_policy.h","definition_source_path":"sources/postgresql/9.6/source/pg_policy.h","source_column_count":7,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3256,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_policy stores row level security policies for tables. A policy includes the kind of command that it applies to (possibly all commands), the roles that it applies to, the expression to be added as a security-barrier qualification to queries that include the table, and the expression to be added as a WITH CHECK option for queries that attempt to add new records to the table.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_policy.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polname","type":"name","description":"The name of the policy","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polrelid","type":"oid","description":"The table to which the policy applies","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polcmd","type":"\"char\"","description":"The command type to which the policy is applied: r for SELECT, a for INSERT, w for UPDATE, d for DELETE, or * for all","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polpermissive","type":"boolean","description":"Is the policy permissive or restrictive?","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polroles","type":"oid[]","description":"The roles to which the policy is applied","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"polqual","type":"pg_node_tree","description":"The expression tree to be added to the security barrier qualifications for queries that use the table","hidden":false,"type_oid":194,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"polwithcheck","type":"pg_node_tree","description":"The expression tree to be added to the WITH CHECK qualifications for queries that attempt to add rows to the table","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-policy.html","source_path":"sources/postgresql/10/catalog-pg-policy.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_policy.h","definition_source_path":"sources/postgresql/10/source/pg_policy.h","source_column_count":8,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3256,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_policy stores row level security policies for tables. A policy includes the kind of command that it applies to (possibly all commands), the roles that it applies to, the expression to be added as a security-barrier qualification to queries that include the table, and the expression to be added as a WITH CHECK option for queries that attempt to add new records to the table.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_policy.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polname","type":"name","description":"The name of the policy","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polrelid","type":"oid","description":"The table to which the policy applies","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polcmd","type":"\"char\"","description":"The command type to which the policy is applied: r for SELECT, a for INSERT, w for UPDATE, d for DELETE, or * for all","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polpermissive","type":"boolean","description":"Is the policy permissive or restrictive?","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polroles","type":"oid[]","description":"The roles to which the policy is applied","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"polqual","type":"pg_node_tree","description":"The expression tree to be added to the security barrier qualifications for queries that use the table","hidden":false,"type_oid":194,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"polwithcheck","type":"pg_node_tree","description":"The expression tree to be added to the WITH CHECK qualifications for queries that attempt to add rows to the table","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-policy.html","source_path":"sources/postgresql/11/catalog-pg-policy.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_policy.h","definition_source_path":"sources/postgresql/11/source/pg_policy.h","source_column_count":8,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3256,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_policy stores row level security policies for tables. A policy includes the kind of command that it applies to (possibly all commands), the roles that it applies to, the expression to be added as a security-barrier qualification to queries that include the table, and the expression to be added as a WITH CHECK option for queries that attempt to add new records to the table.","columns":[{"name":"oid","type":"oid","description":"Row identifier.","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_policy.h","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polname","type":"name","description":"The name of the policy","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polrelid","type":"oid","description":"The table to which the policy applies","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polcmd","type":"\"char\"","description":"The command type to which the policy is applied: r for SELECT, a for INSERT, w for UPDATE, d for DELETE, or * for all","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polpermissive","type":"boolean","description":"Is the policy permissive or restrictive?","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polroles","type":"oid[]","description":"The roles to which the policy is applied","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"polqual","type":"pg_node_tree","description":"The expression tree to be added to the security barrier qualifications for queries that use the table","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"polwithcheck","type":"pg_node_tree","description":"The expression tree to be added to the WITH CHECK qualifications for queries that attempt to add rows to the table","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-policy.html","source_path":"sources/postgresql/12/catalog-pg-policy.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_policy.h","definition_source_path":"sources/postgresql/12/source/pg_policy.h","source_column_count":8,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3256,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_policy stores row level security policies for tables. A policy includes the kind of command that it applies to (possibly all commands), the roles that it applies to, the expression to be added as a security-barrier qualification to queries that include the table, and the expression to be added as a WITH CHECK option for queries that attempt to add new records to the table.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polname","type":"name","description":"The name of the policy","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polrelid","type":"oid","description":"The table to which the policy applies","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polcmd","type":"\"char\"","description":"The command type to which the policy is applied: r for SELECT, a for INSERT, w for UPDATE, d for DELETE, or * for all","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polpermissive","type":"boolean","description":"Is the policy permissive or restrictive?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polroles","type":"oid[]","description":"The roles to which the policy is applied","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"polqual","type":"pg_node_tree","description":"The expression tree to be added to the security barrier qualifications for queries that use the table","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"polwithcheck","type":"pg_node_tree","description":"The expression tree to be added to the WITH CHECK qualifications for queries that attempt to add rows to the table","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-policy.html","source_path":"sources/postgresql/13/catalog-pg-policy.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_policy.h","definition_source_path":"sources/postgresql/13/source/pg_policy.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3256,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_policy stores row-level security policies for tables. A policy includes the kind of command that it applies to (possibly all commands), the roles that it applies to, the expression to be added as a security-barrier qualification to queries that include the table, and the expression to be added as a WITH CHECK option for queries that attempt to add new records to the table.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polname","type":"name","description":"The name of the policy","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polrelid","type":"oid","description":"The table to which the policy applies","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polcmd","type":"\"char\"","description":"The command type to which the policy is applied: r for SELECT, a for INSERT, w for UPDATE, d for DELETE, or * for all","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polpermissive","type":"boolean","description":"Is the policy permissive or restrictive?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polroles","type":"oid[]","description":"The roles to which the policy is applied; zero means PUBLIC (and normally appears alone in the array)","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"polqual","type":"pg_node_tree","description":"The expression tree to be added to the security barrier qualifications for queries that use the table","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"polwithcheck","type":"pg_node_tree","description":"The expression tree to be added to the WITH CHECK qualifications for queries that attempt to add rows to the table","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-policy.html","source_path":"sources/postgresql/14/catalog-pg-policy.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_policy.h","definition_source_path":"sources/postgresql/14/source/pg_policy.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3256,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_policy stores row-level security policies for tables. A policy includes the kind of command that it applies to (possibly all commands), the roles that it applies to, the expression to be added as a security-barrier qualification to queries that include the table, and the expression to be added as a WITH CHECK option for queries that attempt to add new records to the table.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polname","type":"name","description":"The name of the policy","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polrelid","type":"oid","description":"The table to which the policy applies","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polcmd","type":"\"char\"","description":"The command type to which the policy is applied: r for SELECT, a for INSERT, w for UPDATE, d for DELETE, or * for all","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polpermissive","type":"boolean","description":"Is the policy permissive or restrictive?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polroles","type":"oid[]","description":"The roles to which the policy is applied; zero means PUBLIC (and normally appears alone in the array)","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"polqual","type":"pg_node_tree","description":"The expression tree to be added to the security barrier qualifications for queries that use the table","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"polwithcheck","type":"pg_node_tree","description":"The expression tree to be added to the WITH CHECK qualifications for queries that attempt to add rows to the table","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-policy.html","source_path":"sources/postgresql/15/catalog-pg-policy.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_policy.h","definition_source_path":"sources/postgresql/15/source/pg_policy.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3256,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_policy stores row-level security policies for tables. A policy includes the kind of command that it applies to (possibly all commands), the roles that it applies to, the expression to be added as a security-barrier qualification to queries that include the table, and the expression to be added as a WITH CHECK option for queries that attempt to add new records to the table.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polname","type":"name","description":"The name of the policy","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polrelid","type":"oid","description":"The table to which the policy applies","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polcmd","type":"\"char\"","description":"The command type to which the policy is applied: r for SELECT, a for INSERT, w for UPDATE, d for DELETE, or * for all","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polpermissive","type":"boolean","description":"Is the policy permissive or restrictive?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polroles","type":"oid[]","description":"The roles to which the policy is applied; zero means PUBLIC (and normally appears alone in the array)","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"polqual","type":"pg_node_tree","description":"The expression tree to be added to the security barrier qualifications for queries that use the table","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"polwithcheck","type":"pg_node_tree","description":"The expression tree to be added to the WITH CHECK qualifications for queries that attempt to add rows to the table","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-policy.html","source_path":"sources/postgresql/16/catalog-pg-policy.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_policy.h","definition_source_path":"sources/postgresql/16/source/pg_policy.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3256,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_policy stores row-level security policies for tables. A policy includes the kind of command that it applies to (possibly all commands), the roles that it applies to, the expression to be added as a security-barrier qualification to queries that include the table, and the expression to be added as a WITH CHECK option for queries that attempt to add new records to the table.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polname","type":"name","description":"The name of the policy","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polrelid","type":"oid","description":"The table to which the policy applies","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polcmd","type":"\"char\"","description":"The command type to which the policy is applied: r for SELECT, a for INSERT, w for UPDATE, d for DELETE, or * for all","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polpermissive","type":"boolean","description":"Is the policy permissive or restrictive?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polroles","type":"oid[]","description":"The roles to which the policy is applied; zero means PUBLIC (and normally appears alone in the array)","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"polqual","type":"pg_node_tree","description":"The expression tree to be added to the security barrier qualifications for queries that use the table","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"polwithcheck","type":"pg_node_tree","description":"The expression tree to be added to the WITH CHECK qualifications for queries that attempt to add rows to the table","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-policy.html","source_path":"sources/postgresql/17/catalog-pg-policy.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_policy.h","definition_source_path":"sources/postgresql/17/source/pg_policy.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3256,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_policy stores row-level security policies for tables. A policy includes the kind of command that it applies to (possibly all commands), the roles that it applies to, the expression to be added as a security-barrier qualification to queries that include the table, and the expression to be added as a WITH CHECK option for queries that attempt to add new records to the table.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polname","type":"name","description":"The name of the policy","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polrelid","type":"oid","description":"The table to which the policy applies","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polcmd","type":"\"char\"","description":"The command type to which the policy is applied: r for SELECT, a for INSERT, w for UPDATE, d for DELETE, or * for all","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polpermissive","type":"boolean","description":"Is the policy permissive or restrictive?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polroles","type":"oid[]","description":"The roles to which the policy is applied; zero means PUBLIC (and normally appears alone in the array)","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"polqual","type":"pg_node_tree","description":"The expression tree to be added to the security barrier qualifications for queries that use the table","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"polwithcheck","type":"pg_node_tree","description":"The expression tree to be added to the WITH CHECK qualifications for queries that attempt to add rows to the table","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-policy.html","source_path":"sources/postgresql/18/catalog-pg-policy.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_policy.h","definition_source_path":"sources/postgresql/18/source/pg_policy.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3256,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_policy stores row-level security policies for tables. A policy includes the kind of command that it applies to (possibly all commands), the roles that it applies to, the expression to be added as a security-barrier qualification to queries that include the table, and the expression to be added as a WITH CHECK option for queries that attempt to add new records to the table.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polname","type":"name","description":"The name of the policy","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polrelid","type":"oid","description":"The table to which the policy applies","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polcmd","type":"\"char\"","description":"The command type to which the policy is applied: r for SELECT, a for INSERT, w for UPDATE, d for DELETE, or * for all","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polpermissive","type":"boolean","description":"Is the policy permissive or restrictive?","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polroles","type":"oid[]","description":"The roles to which the policy is applied; zero means PUBLIC (and normally appears alone in the array)","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"polqual","type":"pg_node_tree","description":"The expression tree to be added to the security barrier qualifications for queries that use the table","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"polwithcheck","type":"pg_node_tree","description":"The expression tree to be added to the WITH CHECK qualifications for queries that attempt to add rows to the table","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-policy.html","source_path":"sources/postgresql/19/catalog-pg-policy.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_policy.h","definition_source_path":"sources/postgresql/19/source/pg_policy.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3256,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.4","to":"9.5","status":"added","added_columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_policy.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polname","type":"name","description":"The name of the policy","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polrelid","type":"oid","description":"The table to which the policy applies","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polcmd","type":"\"char\"","description":"The command type to which the policy is applied: r for SELECT, a for INSERT, w for UPDATE, d for DELETE, or * for all","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"polroles","type":"oid[]","description":"The roles to which the policy is applied","references":"pg_authid.oid","hidden":false,"type_oid":1028,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"polqual","type":"pg_node_tree","description":"The expression tree to be added to the security barrier qualifications for queries that use the table","hidden":false,"type_oid":194,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"polwithcheck","type":"pg_node_tree","description":"The expression tree to be added to the WITH CHECK qualifications for queries that attempt to add rows to the table","hidden":false,"type_oid":194,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.6","to":"10","status":"changed","added_columns":[{"name":"polpermissive","type":"boolean","description":"Is the policy permissive or restrictive?","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier."}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false},{"name":"polroles","attribute":"not_null","from":false,"to":true}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier.","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"polroles","from":"The roles to which the policy is applied","to":"The roles to which the policy is applied; zero means PUBLIC (and normally appears alone in the array)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_prepared_statements","kind":"view","summary":"The pg_prepared_statements view displays all the prepared statements that are available in the current session. See PREPARE for more information about prepared statements.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The pg_prepared_statements view displays all the prepared statements that are available in the current session. See PREPARE for more information about prepared statements.\n\npg_prepared_statements contains one row for each prepared statement. Rows are added to the view when a new prepared statement is created and removed when a prepared statement is released (for example, via the DEALLOCATE command).","columns":[{"name":"name","type":"text","description":"The identifier of the prepared statement","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The query string submitted by the client to create this prepared statement. For prepared statements created via SQL, this is the PREPARE statement submitted by the client. For prepared statements created via the frontend/backend protocol, this is the text of the prepared statement itself.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepare_time","type":"timestamp with time zone","description":"The time at which the prepared statement was created","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parameter_types","type":"regtype[]","description":"The expected parameter types for the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid.","hidden":false,"type_oid":2211,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"from_sql","type":"boolean","description":"true if the prepared statement was created via the PREPARE SQL statement; false if the statement was prepared via the frontend/backend protocol","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/view-pg-prepared-statements.html","source_path":"sources/postgresql/9.0/view-pg-prepared-statements.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10995,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The pg_prepared_statements view displays all the prepared statements that are available in the current session. See PREPARE for more information about prepared statements.\n\npg_prepared_statements contains one row for each prepared statement. Rows are added to the view when a new prepared statement is created and removed when a prepared statement is released (for example, via the DEALLOCATE command).","columns":[{"name":"name","type":"text","description":"The identifier of the prepared statement","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The query string submitted by the client to create this prepared statement. For prepared statements created via SQL, this is the PREPARE statement submitted by the client. For prepared statements created via the frontend/backend protocol, this is the text of the prepared statement itself.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepare_time","type":"timestamp with time zone","description":"The time at which the prepared statement was created","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parameter_types","type":"regtype[]","description":"The expected parameter types for the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid.","hidden":false,"type_oid":2211,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"from_sql","type":"boolean","description":"true if the prepared statement was created via the PREPARE SQL statement; false if the statement was prepared via the frontend/backend protocol","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/view-pg-prepared-statements.html","source_path":"sources/postgresql/9.1/view-pg-prepared-statements.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11016,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The pg_prepared_statements view displays all the prepared statements that are available in the current session. See PREPARE for more information about prepared statements.\n\npg_prepared_statements contains one row for each prepared statement. Rows are added to the view when a new prepared statement is created and removed when a prepared statement is released (for example, via the DEALLOCATE command).","columns":[{"name":"name","type":"text","description":"The identifier of the prepared statement","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The query string submitted by the client to create this prepared statement. For prepared statements created via SQL, this is the PREPARE statement submitted by the client. For prepared statements created via the frontend/backend protocol, this is the text of the prepared statement itself.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepare_time","type":"timestamp with time zone","description":"The time at which the prepared statement was created","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parameter_types","type":"regtype[]","description":"The expected parameter types for the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid.","hidden":false,"type_oid":2211,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"from_sql","type":"boolean","description":"true if the prepared statement was created via the PREPARE SQL statement; false if the statement was prepared via the frontend/backend protocol","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/view-pg-prepared-statements.html","source_path":"sources/postgresql/9.2/view-pg-prepared-statements.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11085,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The pg_prepared_statements view displays all the prepared statements that are available in the current session. See PREPARE for more information about prepared statements.\n\npg_prepared_statements contains one row for each prepared statement. Rows are added to the view when a new prepared statement is created and removed when a prepared statement is released (for example, via the DEALLOCATE command).","columns":[{"name":"name","type":"text","description":"The identifier of the prepared statement","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The query string submitted by the client to create this prepared statement. For prepared statements created via SQL, this is the PREPARE statement submitted by the client. For prepared statements created via the frontend/backend protocol, this is the text of the prepared statement itself.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepare_time","type":"timestamp with time zone","description":"The time at which the prepared statement was created","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parameter_types","type":"regtype[]","description":"The expected parameter types for the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid.","hidden":false,"type_oid":2211,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"from_sql","type":"boolean","description":"true if the prepared statement was created via the PREPARE SQL statement; false if the statement was prepared via the frontend/backend protocol","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-prepared-statements.html","source_path":"sources/postgresql/9.3/view-pg-prepared-statements.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11106,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The pg_prepared_statements view displays all the prepared statements that are available in the current session. See PREPARE for more information about prepared statements.\n\npg_prepared_statements contains one row for each prepared statement. Rows are added to the view when a new prepared statement is created and removed when a prepared statement is released (for example, via the DEALLOCATE command).","columns":[{"name":"name","type":"text","description":"The identifier of the prepared statement","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The query string submitted by the client to create this prepared statement. For prepared statements created via SQL, this is the PREPARE statement submitted by the client. For prepared statements created via the frontend/backend protocol, this is the text of the prepared statement itself.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepare_time","type":"timestamp with time zone","description":"The time at which the prepared statement was created","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parameter_types","type":"regtype[]","description":"The expected parameter types for the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid.","hidden":false,"type_oid":2211,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"from_sql","type":"boolean","description":"true if the prepared statement was created via the PREPARE SQL statement; false if the statement was prepared via the frontend/backend protocol","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-prepared-statements.html","source_path":"sources/postgresql/9.4/view-pg-prepared-statements.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11203,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The pg_prepared_statements view displays all the prepared statements that are available in the current session. See PREPARE for more information about prepared statements.\n\npg_prepared_statements contains one row for each prepared statement. Rows are added to the view when a new prepared statement is created and removed when a prepared statement is released (for example, via the DEALLOCATE command).","columns":[{"name":"name","type":"text","description":"The identifier of the prepared statement","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The query string submitted by the client to create this prepared statement. For prepared statements created via SQL, this is the PREPARE statement submitted by the client. For prepared statements created via the frontend/backend protocol, this is the text of the prepared statement itself.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepare_time","type":"timestamp with time zone","description":"The time at which the prepared statement was created","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parameter_types","type":"regtype[]","description":"The expected parameter types for the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid.","hidden":false,"type_oid":2211,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"from_sql","type":"boolean","description":"true if the prepared statement was created via the PREPARE SQL statement; false if the statement was prepared via the frontend/backend protocol","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-prepared-statements.html","source_path":"sources/postgresql/9.5/view-pg-prepared-statements.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11689,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The pg_prepared_statements view displays all the prepared statements that are available in the current session. See PREPARE for more information about prepared statements.\n\npg_prepared_statements contains one row for each prepared statement. Rows are added to the view when a new prepared statement is created and removed when a prepared statement is released (for example, via the DEALLOCATE command).","columns":[{"name":"name","type":"text","description":"The identifier of the prepared statement","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The query string submitted by the client to create this prepared statement. For prepared statements created via SQL, this is the PREPARE statement submitted by the client. For prepared statements created via the frontend/backend protocol, this is the text of the prepared statement itself.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepare_time","type":"timestamp with time zone","description":"The time at which the prepared statement was created","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parameter_types","type":"regtype[]","description":"The expected parameter types for the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid.","hidden":false,"type_oid":2211,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"from_sql","type":"boolean","description":"true if the prepared statement was created via the PREPARE SQL command; false if the statement was prepared via the frontend/backend protocol","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-prepared-statements.html","source_path":"sources/postgresql/9.6/view-pg-prepared-statements.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11711,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The pg_prepared_statements view displays all the prepared statements that are available in the current session. See PREPARE for more information about prepared statements.\n\npg_prepared_statements contains one row for each prepared statement. Rows are added to the view when a new prepared statement is created and removed when a prepared statement is released (for example, via the DEALLOCATE command).","columns":[{"name":"name","type":"text","description":"The identifier of the prepared statement","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The query string submitted by the client to create this prepared statement. For prepared statements created via SQL, this is the PREPARE statement submitted by the client. For prepared statements created via the frontend/backend protocol, this is the text of the prepared statement itself.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepare_time","type":"timestamp with time zone","description":"The time at which the prepared statement was created","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parameter_types","type":"regtype[]","description":"The expected parameter types for the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid.","hidden":false,"type_oid":2211,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"from_sql","type":"boolean","description":"true if the prepared statement was created via the PREPARE SQL command; false if the statement was prepared via the frontend/backend protocol","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-prepared-statements.html","source_path":"sources/postgresql/10/view-pg-prepared-statements.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11593,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The pg_prepared_statements view displays all the prepared statements that are available in the current session. See PREPARE for more information about prepared statements.\n\npg_prepared_statements contains one row for each prepared statement. Rows are added to the view when a new prepared statement is created and removed when a prepared statement is released (for example, via the DEALLOCATE command).","columns":[{"name":"name","type":"text","description":"The identifier of the prepared statement","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The query string submitted by the client to create this prepared statement. For prepared statements created via SQL, this is the PREPARE statement submitted by the client. For prepared statements created via the frontend/backend protocol, this is the text of the prepared statement itself.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepare_time","type":"timestamp with time zone","description":"The time at which the prepared statement was created","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parameter_types","type":"regtype[]","description":"The expected parameter types for the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid.","hidden":false,"type_oid":2211,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"from_sql","type":"boolean","description":"true if the prepared statement was created via the PREPARE SQL command; false if the statement was prepared via the frontend/backend protocol","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-prepared-statements.html","source_path":"sources/postgresql/11/view-pg-prepared-statements.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11661,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The pg_prepared_statements view displays all the prepared statements that are available in the current session. See PREPARE for more information about prepared statements.\n\npg_prepared_statements contains one row for each prepared statement. Rows are added to the view when a new prepared statement is created and removed when a prepared statement is released (for example, via the DEALLOCATE command).","columns":[{"name":"name","type":"text","description":"The identifier of the prepared statement","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The query string submitted by the client to create this prepared statement. For prepared statements created via SQL, this is the PREPARE statement submitted by the client. For prepared statements created via the frontend/backend protocol, this is the text of the prepared statement itself.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepare_time","type":"timestamp with time zone","description":"The time at which the prepared statement was created","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parameter_types","type":"regtype[]","description":"The expected parameter types for the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid.","hidden":false,"type_oid":2211,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"from_sql","type":"boolean","description":"true if the prepared statement was created via the PREPARE SQL command; false if the statement was prepared via the frontend/backend protocol","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-prepared-statements.html","source_path":"sources/postgresql/12/view-pg-prepared-statements.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12159,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_prepared_statements view displays all the prepared statements that are available in the current session. See PREPARE for more information about prepared statements.\n\npg_prepared_statements contains one row for each prepared statement. Rows are added to the view when a new prepared statement is created and removed when a prepared statement is released (for example, via the DEALLOCATE command).","columns":[{"name":"name","type":"text","description":"The identifier of the prepared statement","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The query string submitted by the client to create this prepared statement. For prepared statements created via SQL, this is the PREPARE statement submitted by the client. For prepared statements created via the frontend/backend protocol, this is the text of the prepared statement itself.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepare_time","type":"timestamp with time zone","description":"The time at which the prepared statement was created","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parameter_types","type":"regtype[]","description":"The expected parameter types for the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid.","hidden":false,"type_oid":2211,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"from_sql","type":"boolean","description":"true if the prepared statement was created via the PREPARE SQL command; false if the statement was prepared via the frontend/backend protocol","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-prepared-statements.html","source_path":"sources/postgresql/13/view-pg-prepared-statements.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12158,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_prepared_statements view displays all the prepared statements that are available in the current session. See PREPARE for more information about prepared statements.\n\npg_prepared_statements contains one row for each prepared statement. Rows are added to the view when a new prepared statement is created and removed when a prepared statement is released (for example, via the DEALLOCATE command).","columns":[{"name":"name","type":"text","description":"The identifier of the prepared statement","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The query string submitted by the client to create this prepared statement. For prepared statements created via SQL, this is the PREPARE statement submitted by the client. For prepared statements created via the frontend/backend protocol, this is the text of the prepared statement itself.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepare_time","type":"timestamp with time zone","description":"The time at which the prepared statement was created","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parameter_types","type":"regtype[]","description":"The expected parameter types for the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid.","hidden":false,"type_oid":2211,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"from_sql","type":"boolean","description":"true if the prepared statement was created via the PREPARE SQL command; false if the statement was prepared via the frontend/backend protocol","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"generic_plans","type":"bigint","description":"Number of times generic plan was chosen","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"custom_plans","type":"bigint","description":"Number of times custom plan was chosen","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-prepared-statements.html","source_path":"sources/postgresql/14/view-pg-prepared-statements.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12312,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_prepared_statements view displays all the prepared statements that are available in the current session. See PREPARE for more information about prepared statements.\n\npg_prepared_statements contains one row for each prepared statement. Rows are added to the view when a new prepared statement is created and removed when a prepared statement is released (for example, via the DEALLOCATE command).","columns":[{"name":"name","type":"text","description":"The identifier of the prepared statement","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The query string submitted by the client to create this prepared statement. For prepared statements created via SQL, this is the PREPARE statement submitted by the client. For prepared statements created via the frontend/backend protocol, this is the text of the prepared statement itself.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepare_time","type":"timestamp with time zone","description":"The time at which the prepared statement was created","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parameter_types","type":"regtype[]","description":"The expected parameter types for the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid.","hidden":false,"type_oid":2211,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"from_sql","type":"boolean","description":"true if the prepared statement was created via the PREPARE SQL command; false if the statement was prepared via the frontend/backend protocol","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"generic_plans","type":"bigint","description":"Number of times generic plan was chosen","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"custom_plans","type":"bigint","description":"Number of times custom plan was chosen","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-prepared-statements.html","source_path":"sources/postgresql/15/view-pg-prepared-statements.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12095,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_prepared_statements view displays all the prepared statements that are available in the current session. See PREPARE for more information about prepared statements.\n\npg_prepared_statements contains one row for each prepared statement. Rows are added to the view when a new prepared statement is created and removed when a prepared statement is released (for example, via the DEALLOCATE command).","columns":[{"name":"name","type":"text","description":"The identifier of the prepared statement","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The query string submitted by the client to create this prepared statement. For prepared statements created via SQL, this is the PREPARE statement submitted by the client. For prepared statements created via the frontend/backend protocol, this is the text of the prepared statement itself.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepare_time","type":"timestamp with time zone","description":"The time at which the prepared statement was created","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parameter_types","type":"regtype[]","description":"The expected parameter types for the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid.","hidden":false,"type_oid":2211,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"result_types","type":"regtype[]","description":"The types of the columns returned by the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid. If the prepared statement does not provide a result (e.g., a DML statement), then this field will be null.","hidden":false,"type_oid":2211,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"from_sql","type":"boolean","description":"true if the prepared statement was created via the PREPARE SQL command; false if the statement was prepared via the frontend/backend protocol","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"generic_plans","type":"bigint","description":"Number of times generic plan was chosen","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"custom_plans","type":"bigint","description":"Number of times custom plan was chosen","documented_type":"int8","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-prepared-statements.html","source_path":"sources/postgresql/16/view-pg-prepared-statements.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12095,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_prepared_statements view displays all the prepared statements that are available in the current session. See PREPARE for more information about prepared statements.\n\npg_prepared_statements contains one row for each prepared statement. Rows are added to the view when a new prepared statement is created and removed when a prepared statement is released (for example, via the DEALLOCATE command).","columns":[{"name":"name","type":"text","description":"The identifier of the prepared statement","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The query string submitted by the client to create this prepared statement. For prepared statements created via SQL, this is the PREPARE statement submitted by the client. For prepared statements created via the frontend/backend protocol, this is the text of the prepared statement itself.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepare_time","type":"timestamp with time zone","description":"The time at which the prepared statement was created","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parameter_types","type":"regtype[]","description":"The expected parameter types for the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid.","hidden":false,"type_oid":2211,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"result_types","type":"regtype[]","description":"The types of the columns returned by the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid. If the prepared statement does not provide a result (e.g., a DML statement), then this field will be null.","hidden":false,"type_oid":2211,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"from_sql","type":"boolean","description":"true if the prepared statement was created via the PREPARE SQL command; false if the statement was prepared via the frontend/backend protocol","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"generic_plans","type":"bigint","description":"Number of times generic plan was chosen","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"custom_plans","type":"bigint","description":"Number of times custom plan was chosen","documented_type":"int8","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-prepared-statements.html","source_path":"sources/postgresql/17/view-pg-prepared-statements.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12095,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_prepared_statements view displays all the prepared statements that are available in the current session. See PREPARE for more information about prepared statements.\n\npg_prepared_statements contains one row for each prepared statement. Rows are added to the view when a new prepared statement is created and removed when a prepared statement is released (for example, via the DEALLOCATE command).","columns":[{"name":"name","type":"text","description":"The identifier of the prepared statement","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The query string submitted by the client to create this prepared statement. For prepared statements created via SQL, this is the PREPARE statement submitted by the client. For prepared statements created via the frontend/backend protocol, this is the text of the prepared statement itself.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepare_time","type":"timestamp with time zone","description":"The time at which the prepared statement was created","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parameter_types","type":"regtype[]","description":"The expected parameter types for the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid.","hidden":false,"type_oid":2211,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"result_types","type":"regtype[]","description":"The types of the columns returned by the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid. If the prepared statement does not provide a result (e.g., a DML statement), then this field will be null.","hidden":false,"type_oid":2211,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"from_sql","type":"boolean","description":"true if the prepared statement was created via the PREPARE SQL command; false if the statement was prepared via the frontend/backend protocol","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"generic_plans","type":"bigint","description":"Number of times generic plan was chosen","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"custom_plans","type":"bigint","description":"Number of times custom plan was chosen","documented_type":"int8","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-prepared-statements.html","source_path":"sources/postgresql/18/view-pg-prepared-statements.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12095,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_prepared_statements view displays all the prepared statements that are available in the current session. See PREPARE for more information about prepared statements.\n\npg_prepared_statements contains one row for each prepared statement. Rows are added to the view when a new prepared statement is created and removed when a prepared statement is released (for example, via the DEALLOCATE command).","columns":[{"name":"name","type":"text","description":"The identifier of the prepared statement","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statement","type":"text","description":"The query string submitted by the client to create this prepared statement. For prepared statements created via SQL, this is the PREPARE statement submitted by the client. For prepared statements created via the frontend/backend protocol, this is the text of the prepared statement itself.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepare_time","type":"timestamp with time zone","description":"The time at which the prepared statement was created","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parameter_types","type":"regtype[]","description":"The expected parameter types for the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid.","hidden":false,"type_oid":2211,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"result_types","type":"regtype[]","description":"The types of the columns returned by the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid. If the prepared statement does not provide a result (e.g., a DML statement), then this field will be null.","hidden":false,"type_oid":2211,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"from_sql","type":"boolean","description":"true if the prepared statement was created via the PREPARE SQL command; false if the statement was prepared via the frontend/backend protocol","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"generic_plans","type":"bigint","description":"Number of times generic plan was chosen","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"custom_plans","type":"bigint","description":"Number of times custom plan was chosen","documented_type":"int8","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-prepared-statements.html","source_path":"sources/postgresql/19/view-pg-prepared-statements.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12100,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"from_sql","from":"true if the prepared statement was created via the PREPARE SQL statement; false if the statement was prepared via the frontend/backend protocol","to":"true if the prepared statement was created via the PREPARE SQL command; false if the statement was prepared via the frontend/backend protocol"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[{"name":"generic_plans","type":"bigint","description":"Number of times generic plan was chosen","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"custom_plans","type":"bigint","description":"Number of times custom plan was chosen","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"15","to":"16","status":"changed","added_columns":[{"name":"result_types","type":"regtype[]","description":"The types of the columns returned by the prepared statement in the form of an array of regtype. The OID corresponding to an element of this array can be obtained by casting the regtype value to oid. If the prepared statement does not provide a result (e.g., a DML statement), then this field will be null.","hidden":false,"type_oid":2211,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_prepared_xacts","kind":"view","summary":"The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase commit (see PREPARE TRANSACTION for details).","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase commit (see PREPARE TRANSACTION for details).\n\npg_prepared_xacts contains one row per prepared transaction. An entry is removed when the transaction is committed or rolled back.","columns":[{"name":"transaction","type":"xid","description":"Numeric transaction identifier of the prepared transaction","hidden":false,"type_oid":28,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gid","type":"text","description":"Global transaction identifier that was assigned to the transaction","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepared","type":"timestamp with time zone","description":"Time at which the transaction was prepared for commit","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"owner","type":"name","description":"Name of the user that executed the transaction","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"Name of the database in which the transaction was executed","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/view-pg-prepared-xacts.html","source_path":"sources/postgresql/9.0/view-pg-prepared-xacts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10991,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase commit (see PREPARE TRANSACTION for details).\n\npg_prepared_xacts contains one row per prepared transaction. An entry is removed when the transaction is committed or rolled back.","columns":[{"name":"transaction","type":"xid","description":"Numeric transaction identifier of the prepared transaction","hidden":false,"type_oid":28,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gid","type":"text","description":"Global transaction identifier that was assigned to the transaction","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepared","type":"timestamp with time zone","description":"Time at which the transaction was prepared for commit","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"owner","type":"name","description":"Name of the user that executed the transaction","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"Name of the database in which the transaction was executed","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/view-pg-prepared-xacts.html","source_path":"sources/postgresql/9.1/view-pg-prepared-xacts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11012,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase commit (see PREPARE TRANSACTION for details).\n\npg_prepared_xacts contains one row per prepared transaction. An entry is removed when the transaction is committed or rolled back.","columns":[{"name":"transaction","type":"xid","description":"Numeric transaction identifier of the prepared transaction","hidden":false,"type_oid":28,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gid","type":"text","description":"Global transaction identifier that was assigned to the transaction","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepared","type":"timestamp with time zone","description":"Time at which the transaction was prepared for commit","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"owner","type":"name","description":"Name of the user that executed the transaction","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"Name of the database in which the transaction was executed","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/view-pg-prepared-xacts.html","source_path":"sources/postgresql/9.2/view-pg-prepared-xacts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11081,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase commit (see PREPARE TRANSACTION for details).\n\npg_prepared_xacts contains one row per prepared transaction. An entry is removed when the transaction is committed or rolled back.","columns":[{"name":"transaction","type":"xid","description":"Numeric transaction identifier of the prepared transaction","hidden":false,"type_oid":28,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gid","type":"text","description":"Global transaction identifier that was assigned to the transaction","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepared","type":"timestamp with time zone","description":"Time at which the transaction was prepared for commit","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"owner","type":"name","description":"Name of the user that executed the transaction","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"Name of the database in which the transaction was executed","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-prepared-xacts.html","source_path":"sources/postgresql/9.3/view-pg-prepared-xacts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11102,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase commit (see PREPARE TRANSACTION for details).\n\npg_prepared_xacts contains one row per prepared transaction. An entry is removed when the transaction is committed or rolled back.","columns":[{"name":"transaction","type":"xid","description":"Numeric transaction identifier of the prepared transaction","hidden":false,"type_oid":28,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gid","type":"text","description":"Global transaction identifier that was assigned to the transaction","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepared","type":"timestamp with time zone","description":"Time at which the transaction was prepared for commit","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"owner","type":"name","description":"Name of the user that executed the transaction","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"Name of the database in which the transaction was executed","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-prepared-xacts.html","source_path":"sources/postgresql/9.4/view-pg-prepared-xacts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11199,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase commit (see PREPARE TRANSACTION for details).\n\npg_prepared_xacts contains one row per prepared transaction. An entry is removed when the transaction is committed or rolled back.","columns":[{"name":"transaction","type":"xid","description":"Numeric transaction identifier of the prepared transaction","hidden":false,"type_oid":28,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gid","type":"text","description":"Global transaction identifier that was assigned to the transaction","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepared","type":"timestamp with time zone","description":"Time at which the transaction was prepared for commit","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"owner","type":"name","description":"Name of the user that executed the transaction","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"Name of the database in which the transaction was executed","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-prepared-xacts.html","source_path":"sources/postgresql/9.5/view-pg-prepared-xacts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11685,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase commit (see PREPARE TRANSACTION for details).\n\npg_prepared_xacts contains one row per prepared transaction. An entry is removed when the transaction is committed or rolled back.","columns":[{"name":"transaction","type":"xid","description":"Numeric transaction identifier of the prepared transaction","hidden":false,"type_oid":28,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gid","type":"text","description":"Global transaction identifier that was assigned to the transaction","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepared","type":"timestamp with time zone","description":"Time at which the transaction was prepared for commit","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"owner","type":"name","description":"Name of the user that executed the transaction","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"Name of the database in which the transaction was executed","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-prepared-xacts.html","source_path":"sources/postgresql/9.6/view-pg-prepared-xacts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11707,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase commit (see PREPARE TRANSACTION for details).\n\npg_prepared_xacts contains one row per prepared transaction. An entry is removed when the transaction is committed or rolled back.","columns":[{"name":"transaction","type":"xid","description":"Numeric transaction identifier of the prepared transaction","hidden":false,"type_oid":28,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gid","type":"text","description":"Global transaction identifier that was assigned to the transaction","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepared","type":"timestamp with time zone","description":"Time at which the transaction was prepared for commit","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"owner","type":"name","description":"Name of the user that executed the transaction","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"Name of the database in which the transaction was executed","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-prepared-xacts.html","source_path":"sources/postgresql/10/view-pg-prepared-xacts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11589,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase commit (see PREPARE TRANSACTION for details).\n\npg_prepared_xacts contains one row per prepared transaction. An entry is removed when the transaction is committed or rolled back.","columns":[{"name":"transaction","type":"xid","description":"Numeric transaction identifier of the prepared transaction","hidden":false,"type_oid":28,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gid","type":"text","description":"Global transaction identifier that was assigned to the transaction","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepared","type":"timestamp with time zone","description":"Time at which the transaction was prepared for commit","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"owner","type":"name","description":"Name of the user that executed the transaction","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"Name of the database in which the transaction was executed","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-prepared-xacts.html","source_path":"sources/postgresql/11/view-pg-prepared-xacts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11657,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase commit (see PREPARE TRANSACTION for details).\n\npg_prepared_xacts contains one row per prepared transaction. An entry is removed when the transaction is committed or rolled back.","columns":[{"name":"transaction","type":"xid","description":"Numeric transaction identifier of the prepared transaction","hidden":false,"type_oid":28,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gid","type":"text","description":"Global transaction identifier that was assigned to the transaction","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepared","type":"timestamp with time zone","description":"Time at which the transaction was prepared for commit","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"owner","type":"name","description":"Name of the user that executed the transaction","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"Name of the database in which the transaction was executed","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-prepared-xacts.html","source_path":"sources/postgresql/12/view-pg-prepared-xacts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12155,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase commit (see PREPARE TRANSACTION for details).\n\npg_prepared_xacts contains one row per prepared transaction. An entry is removed when the transaction is committed or rolled back.","columns":[{"name":"transaction","type":"xid","description":"Numeric transaction identifier of the prepared transaction","hidden":false,"type_oid":28,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gid","type":"text","description":"Global transaction identifier that was assigned to the transaction","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepared","type":"timestamp with time zone","description":"Time at which the transaction was prepared for commit","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"owner","type":"name","description":"Name of the user that executed the transaction","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"Name of the database in which the transaction was executed","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-prepared-xacts.html","source_path":"sources/postgresql/13/view-pg-prepared-xacts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12154,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase commit (see PREPARE TRANSACTION for details).\n\npg_prepared_xacts contains one row per prepared transaction. An entry is removed when the transaction is committed or rolled back.","columns":[{"name":"transaction","type":"xid","description":"Numeric transaction identifier of the prepared transaction","hidden":false,"type_oid":28,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gid","type":"text","description":"Global transaction identifier that was assigned to the transaction","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepared","type":"timestamp with time zone","description":"Time at which the transaction was prepared for commit","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"owner","type":"name","description":"Name of the user that executed the transaction","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"Name of the database in which the transaction was executed","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-prepared-xacts.html","source_path":"sources/postgresql/14/view-pg-prepared-xacts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12307,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase commit (see PREPARE TRANSACTION for details).\n\npg_prepared_xacts contains one row per prepared transaction. An entry is removed when the transaction is committed or rolled back.","columns":[{"name":"transaction","type":"xid","description":"Numeric transaction identifier of the prepared transaction","hidden":false,"type_oid":28,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gid","type":"text","description":"Global transaction identifier that was assigned to the transaction","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepared","type":"timestamp with time zone","description":"Time at which the transaction was prepared for commit","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"owner","type":"name","description":"Name of the user that executed the transaction","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"Name of the database in which the transaction was executed","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-prepared-xacts.html","source_path":"sources/postgresql/15/view-pg-prepared-xacts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12090,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase commit (see PREPARE TRANSACTION for details).\n\npg_prepared_xacts contains one row per prepared transaction. An entry is removed when the transaction is committed or rolled back.","columns":[{"name":"transaction","type":"xid","description":"Numeric transaction identifier of the prepared transaction","hidden":false,"type_oid":28,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gid","type":"text","description":"Global transaction identifier that was assigned to the transaction","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepared","type":"timestamp with time zone","description":"Time at which the transaction was prepared for commit","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"owner","type":"name","description":"Name of the user that executed the transaction","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"Name of the database in which the transaction was executed","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-prepared-xacts.html","source_path":"sources/postgresql/16/view-pg-prepared-xacts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12090,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase commit (see PREPARE TRANSACTION for details).\n\npg_prepared_xacts contains one row per prepared transaction. An entry is removed when the transaction is committed or rolled back.","columns":[{"name":"transaction","type":"xid","description":"Numeric transaction identifier of the prepared transaction","hidden":false,"type_oid":28,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gid","type":"text","description":"Global transaction identifier that was assigned to the transaction","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepared","type":"timestamp with time zone","description":"Time at which the transaction was prepared for commit","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"owner","type":"name","description":"Name of the user that executed the transaction","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"Name of the database in which the transaction was executed","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-prepared-xacts.html","source_path":"sources/postgresql/17/view-pg-prepared-xacts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12090,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase commit (see PREPARE TRANSACTION for details).\n\npg_prepared_xacts contains one row per prepared transaction. An entry is removed when the transaction is committed or rolled back.","columns":[{"name":"transaction","type":"xid","description":"Numeric transaction identifier of the prepared transaction","hidden":false,"type_oid":28,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gid","type":"text","description":"Global transaction identifier that was assigned to the transaction","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepared","type":"timestamp with time zone","description":"Time at which the transaction was prepared for commit","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"owner","type":"name","description":"Name of the user that executed the transaction","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"Name of the database in which the transaction was executed","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-prepared-xacts.html","source_path":"sources/postgresql/18/view-pg-prepared-xacts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12090,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase commit (see PREPARE TRANSACTION for details).\n\npg_prepared_xacts contains one row per prepared transaction. An entry is removed when the transaction is committed or rolled back.","columns":[{"name":"transaction","type":"xid","description":"Numeric transaction identifier of the prepared transaction","hidden":false,"type_oid":28,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gid","type":"text","description":"Global transaction identifier that was assigned to the transaction","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prepared","type":"timestamp with time zone","description":"Time at which the transaction was prepared for commit","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"owner","type":"name","description":"Name of the user that executed the transaction","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"Name of the database in which the transaction was executed","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-prepared-xacts.html","source_path":"sources/postgresql/19/view-pg-prepared-xacts.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12095,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[]},{"name":"pg_proc","kind":"catalog","summary":"functions and procedures","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_proc stores information about functions (or procedures). See CREATE FUNCTION and Section 35.3 for more information.\n\nThe table contains data for aggregate functions as well as plain functions. If proisagg is true, there should be a matching row in pg_aggregate.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_proc.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proname","type":"name","description":"Name of the function","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronamespace","type":"oid","description":"The OID of the namespace that contains this function","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proowner","type":"oid","description":"Owner of the function","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prolang","type":"oid","description":"Implementation language or call interface of this function","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"procost","type":"real","description":"Estimated execution cost (in units of cpu_operator_cost); if proretset, this is cost per row returned","documented_type":"float4","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorows","type":"real","description":"Estimated number of result rows (zero if not proretset)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provariadic","type":"oid","description":"Data type of the variadic array parameter's elements, or zero if the function does not have a variadic parameter","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisagg","type":"boolean","description":"Function is an aggregate function","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proiswindow","type":"boolean","description":"Function is a window function","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosecdef","type":"boolean","description":"Function is a security definer (i.e., a \"setuid\" function)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisstrict","type":"boolean","description":"Function returns null if any call argument is null. In that case the function won't actually be called at all. Functions that are not \"strict\" must be prepared to handle null inputs.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proretset","type":"boolean","description":"Function returns a set (i.e., multiple values of the specified data type)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provolatile","type":"\"char\"","description":"provolatile tells whether the function's result depends only on its input arguments, or is affected by outside factors. It is i for \"immutable\" functions, which always deliver the same result for the same inputs. It is s for \"stable\" functions, whose results (for fixed inputs) do not change within a scan. It is v for \"volatile\" functions, whose results might change at any time. (Use v also for functions with side-effects, so that calls to them cannot get optimized away.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargs","type":"smallint","description":"Number of input arguments","documented_type":"int2","hidden":false,"type_oid":21,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargdefaults","type":"smallint","description":"Number of arguments that have defaults","documented_type":"int2","hidden":false,"type_oid":21,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorettype","type":"oid","description":"Data type of the return value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proargtypes","type":"oidvector","description":"An array with the data types of the function arguments. This includes only input arguments (including INOUT and VARIADIC arguments), and thus represents the call signature of the function.","references":"pg_type.oid","hidden":false,"type_oid":30,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"proallargtypes","type":"oid[]","description":"An array with the data types of the function arguments. This includes all arguments (including OUT and INOUT arguments); however, if all the arguments are IN arguments, this field will be null. Note that subscripting is 1-based, whereas for historical reasons proargtypes is subscripted from 0.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargmodes","type":"\"char\"[]","description":"An array with the modes of the function arguments, encoded as i for IN arguments, o for OUT arguments, b for INOUT arguments, v for VARIADIC arguments, t for TABLE arguments. If all the arguments are IN arguments, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargnames","type":"text[]","description":"An array with the names of the function arguments. Arguments without a name are set to empty strings in the array. If none of the arguments have a name, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","hidden":false,"type_oid":1009,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargdefaults","type":"text","description":"Expression trees (in nodeToString() representation) for default values. This is a list with pronargdefaults elements, corresponding to the last N input arguments (i.e., the last N proargtypes positions). If none of the arguments have defaults, this field will be null.","hidden":false,"type_oid":25,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prosrc","type":"text","description":"This tells the function handler how to invoke the function. It might be the actual source code of the function for interpreted languages, a link symbol, a file name, or just about anything else, depending on the implementation language/call convention.","hidden":false,"type_oid":25,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"probin","type":"text","description":"Additional information about how to invoke the function. Again, the interpretation is language-specific.","hidden":false,"type_oid":25,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"proconfig","type":"text[]","description":"Function's local settings for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-proc.html","source_path":"sources/postgresql/9.0/catalog-pg-proc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_proc.h","definition_source_path":"sources/postgresql/9.0/source/pg_proc.h","source_column_count":26,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1255,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_proc stores information about functions (or procedures). See CREATE FUNCTION and Section 35.3 for more information.\n\nThe table contains data for aggregate functions as well as plain functions. If proisagg is true, there should be a matching row in pg_aggregate.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_proc.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proname","type":"name","description":"Name of the function","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronamespace","type":"oid","description":"The OID of the namespace that contains this function","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proowner","type":"oid","description":"Owner of the function","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prolang","type":"oid","description":"Implementation language or call interface of this function","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"procost","type":"real","description":"Estimated execution cost (in units of cpu_operator_cost); if proretset, this is cost per row returned","documented_type":"float4","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorows","type":"real","description":"Estimated number of result rows (zero if not proretset)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provariadic","type":"oid","description":"Data type of the variadic array parameter's elements, or zero if the function does not have a variadic parameter","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisagg","type":"boolean","description":"Function is an aggregate function","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proiswindow","type":"boolean","description":"Function is a window function","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosecdef","type":"boolean","description":"Function is a security definer (i.e., a \"setuid\" function)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisstrict","type":"boolean","description":"Function returns null if any call argument is null. In that case the function won't actually be called at all. Functions that are not \"strict\" must be prepared to handle null inputs.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proretset","type":"boolean","description":"Function returns a set (i.e., multiple values of the specified data type)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provolatile","type":"\"char\"","description":"provolatile tells whether the function's result depends only on its input arguments, or is affected by outside factors. It is i for \"immutable\" functions, which always deliver the same result for the same inputs. It is s for \"stable\" functions, whose results (for fixed inputs) do not change within a scan. It is v for \"volatile\" functions, whose results might change at any time. (Use v also for functions with side-effects, so that calls to them cannot get optimized away.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargs","type":"smallint","description":"Number of input arguments","documented_type":"int2","hidden":false,"type_oid":21,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargdefaults","type":"smallint","description":"Number of arguments that have defaults","documented_type":"int2","hidden":false,"type_oid":21,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorettype","type":"oid","description":"Data type of the return value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proargtypes","type":"oidvector","description":"An array with the data types of the function arguments. This includes only input arguments (including INOUT and VARIADIC arguments), and thus represents the call signature of the function.","references":"pg_type.oid","hidden":false,"type_oid":30,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"proallargtypes","type":"oid[]","description":"An array with the data types of the function arguments. This includes all arguments (including OUT and INOUT arguments); however, if all the arguments are IN arguments, this field will be null. Note that subscripting is 1-based, whereas for historical reasons proargtypes is subscripted from 0.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargmodes","type":"\"char\"[]","description":"An array with the modes of the function arguments, encoded as i for IN arguments, o for OUT arguments, b for INOUT arguments, v for VARIADIC arguments, t for TABLE arguments. If all the arguments are IN arguments, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargnames","type":"text[]","description":"An array with the names of the function arguments. Arguments without a name are set to empty strings in the array. If none of the arguments have a name, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","hidden":false,"type_oid":1009,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargdefaults","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for default values. This is a list with pronargdefaults elements, corresponding to the last N input arguments (i.e., the last N proargtypes positions). If none of the arguments have defaults, this field will be null.","hidden":false,"type_oid":194,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prosrc","type":"text","description":"This tells the function handler how to invoke the function. It might be the actual source code of the function for interpreted languages, a link symbol, a file name, or just about anything else, depending on the implementation language/call convention.","hidden":false,"type_oid":25,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"probin","type":"text","description":"Additional information about how to invoke the function. Again, the interpretation is language-specific.","hidden":false,"type_oid":25,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"proconfig","type":"text[]","description":"Function's local settings for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-proc.html","source_path":"sources/postgresql/9.1/catalog-pg-proc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_proc.h","definition_source_path":"sources/postgresql/9.1/source/pg_proc.h","source_column_count":26,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1255,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_proc stores information about functions (or procedures). See CREATE FUNCTION and Section 35.3 for more information.\n\nThe table contains data for aggregate functions as well as plain functions. If proisagg is true, there should be a matching row in pg_aggregate.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_proc.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proname","type":"name","description":"Name of the function","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronamespace","type":"oid","description":"The OID of the namespace that contains this function","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proowner","type":"oid","description":"Owner of the function","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prolang","type":"oid","description":"Implementation language or call interface of this function","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"procost","type":"real","description":"Estimated execution cost (in units of cpu_operator_cost); if proretset, this is cost per row returned","documented_type":"float4","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorows","type":"real","description":"Estimated number of result rows (zero if not proretset)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provariadic","type":"oid","description":"Data type of the variadic array parameter's elements, or zero if the function does not have a variadic parameter","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"protransform","type":"regproc","description":"Calls to this function can be simplified by this other function (see Section 35.9.11)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisagg","type":"boolean","description":"Function is an aggregate function","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proiswindow","type":"boolean","description":"Function is a window function","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosecdef","type":"boolean","description":"Function is a security definer (i.e., a \"setuid\" function)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proleakproof","type":"boolean","description":"The function has no side effects. No information about the arguments is conveyed except via the return value. Any function that might throw an error depending on the values of its arguments is not leak-proof.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisstrict","type":"boolean","description":"Function returns null if any call argument is null. In that case the function won't actually be called at all. Functions that are not \"strict\" must be prepared to handle null inputs.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proretset","type":"boolean","description":"Function returns a set (i.e., multiple values of the specified data type)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provolatile","type":"\"char\"","description":"provolatile tells whether the function's result depends only on its input arguments, or is affected by outside factors. It is i for \"immutable\" functions, which always deliver the same result for the same inputs. It is s for \"stable\" functions, whose results (for fixed inputs) do not change within a scan. It is v for \"volatile\" functions, whose results might change at any time. (Use v also for functions with side-effects, so that calls to them cannot get optimized away.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargs","type":"smallint","description":"Number of input arguments","documented_type":"int2","hidden":false,"type_oid":21,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargdefaults","type":"smallint","description":"Number of arguments that have defaults","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorettype","type":"oid","description":"Data type of the return value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proargtypes","type":"oidvector","description":"An array with the data types of the function arguments. This includes only input arguments (including INOUT and VARIADIC arguments), and thus represents the call signature of the function.","references":"pg_type.oid","hidden":false,"type_oid":30,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"proallargtypes","type":"oid[]","description":"An array with the data types of the function arguments. This includes all arguments (including OUT and INOUT arguments); however, if all the arguments are IN arguments, this field will be null. Note that subscripting is 1-based, whereas for historical reasons proargtypes is subscripted from 0.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargmodes","type":"\"char\"[]","description":"An array with the modes of the function arguments, encoded as i for IN arguments, o for OUT arguments, b for INOUT arguments, v for VARIADIC arguments, t for TABLE arguments. If all the arguments are IN arguments, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargnames","type":"text[]","description":"An array with the names of the function arguments. Arguments without a name are set to empty strings in the array. If none of the arguments have a name, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","hidden":false,"type_oid":1009,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargdefaults","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for default values. This is a list with pronargdefaults elements, corresponding to the last N input arguments (i.e., the last N proargtypes positions). If none of the arguments have defaults, this field will be null.","hidden":false,"type_oid":194,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prosrc","type":"text","description":"This tells the function handler how to invoke the function. It might be the actual source code of the function for interpreted languages, a link symbol, a file name, or just about anything else, depending on the implementation language/call convention.","hidden":false,"type_oid":25,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"probin","type":"text","description":"Additional information about how to invoke the function. Again, the interpretation is language-specific.","hidden":false,"type_oid":25,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"proconfig","type":"text[]","description":"Function's local settings for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":26,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":27,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-proc.html","source_path":"sources/postgresql/9.2/catalog-pg-proc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_proc.h","definition_source_path":"sources/postgresql/9.2/source/pg_proc.h","source_column_count":28,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1255,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_proc stores information about functions (or procedures). See CREATE FUNCTION and Section 35.3 for more information.\n\nThe table contains data for aggregate functions as well as plain functions. If proisagg is true, there should be a matching row in pg_aggregate.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proname","type":"name","description":"Name of the function","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronamespace","type":"oid","description":"The OID of the namespace that contains this function","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proowner","type":"oid","description":"Owner of the function","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prolang","type":"oid","description":"Implementation language or call interface of this function","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"procost","type":"real","description":"Estimated execution cost (in units of cpu_operator_cost); if proretset, this is cost per row returned","documented_type":"float4","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorows","type":"real","description":"Estimated number of result rows (zero if not proretset)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provariadic","type":"oid","description":"Data type of the variadic array parameter's elements, or zero if the function does not have a variadic parameter","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"protransform","type":"regproc","description":"Calls to this function can be simplified by this other function (see Section 35.9.11)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisagg","type":"boolean","description":"Function is an aggregate function","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proiswindow","type":"boolean","description":"Function is a window function","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosecdef","type":"boolean","description":"Function is a security definer (i.e., a \"setuid\" function)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proleakproof","type":"boolean","description":"The function has no side effects. No information about the arguments is conveyed except via the return value. Any function that might throw an error depending on the values of its arguments is not leak-proof.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisstrict","type":"boolean","description":"Function returns null if any call argument is null. In that case the function won't actually be called at all. Functions that are not \"strict\" must be prepared to handle null inputs.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proretset","type":"boolean","description":"Function returns a set (i.e., multiple values of the specified data type)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provolatile","type":"\"char\"","description":"provolatile tells whether the function's result depends only on its input arguments, or is affected by outside factors. It is i for \"immutable\" functions, which always deliver the same result for the same inputs. It is s for \"stable\" functions, whose results (for fixed inputs) do not change within a scan. It is v for \"volatile\" functions, whose results might change at any time. (Use v also for functions with side-effects, so that calls to them cannot get optimized away.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargs","type":"smallint","description":"Number of input arguments","documented_type":"int2","hidden":false,"type_oid":21,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargdefaults","type":"smallint","description":"Number of arguments that have defaults","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorettype","type":"oid","description":"Data type of the return value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proargtypes","type":"oidvector","description":"An array with the data types of the function arguments. This includes only input arguments (including INOUT and VARIADIC arguments), and thus represents the call signature of the function.","references":"pg_type.oid","hidden":false,"type_oid":30,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"proallargtypes","type":"oid[]","description":"An array with the data types of the function arguments. This includes all arguments (including OUT and INOUT arguments); however, if all the arguments are IN arguments, this field will be null. Note that subscripting is 1-based, whereas for historical reasons proargtypes is subscripted from 0.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargmodes","type":"\"char\"[]","description":"An array with the modes of the function arguments, encoded as i for IN arguments, o for OUT arguments, b for INOUT arguments, v for VARIADIC arguments, t for TABLE arguments. If all the arguments are IN arguments, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargnames","type":"text[]","description":"An array with the names of the function arguments. Arguments without a name are set to empty strings in the array. If none of the arguments have a name, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","hidden":false,"type_oid":1009,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargdefaults","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for default values. This is a list with pronargdefaults elements, corresponding to the last N input arguments (i.e., the last N proargtypes positions). If none of the arguments have defaults, this field will be null.","hidden":false,"type_oid":194,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prosrc","type":"text","description":"This tells the function handler how to invoke the function. It might be the actual source code of the function for interpreted languages, a link symbol, a file name, or just about anything else, depending on the implementation language/call convention.","hidden":false,"type_oid":25,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"probin","type":"text","description":"Additional information about how to invoke the function. Again, the interpretation is language-specific.","hidden":false,"type_oid":25,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"proconfig","type":"text[]","description":"Function's local settings for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":26,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":27,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-proc.html","source_path":"sources/postgresql/9.3/catalog-pg-proc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_proc.h","definition_source_path":"sources/postgresql/9.3/source/pg_proc.h","source_column_count":28,"documentary_schema_source":"documentation","relation_oid":1255,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_proc stores information about functions (or procedures). See CREATE FUNCTION and Section 35.3 for more information.\n\nThe table contains data for aggregate functions as well as plain functions. If proisagg is true, there should be a matching row in pg_aggregate.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proname","type":"name","description":"Name of the function","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronamespace","type":"oid","description":"The OID of the namespace that contains this function","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proowner","type":"oid","description":"Owner of the function","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prolang","type":"oid","description":"Implementation language or call interface of this function","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"procost","type":"real","description":"Estimated execution cost (in units of cpu_operator_cost); if proretset, this is cost per row returned","documented_type":"float4","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorows","type":"real","description":"Estimated number of result rows (zero if not proretset)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provariadic","type":"oid","description":"Data type of the variadic array parameter's elements, or zero if the function does not have a variadic parameter","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"protransform","type":"regproc","description":"Calls to this function can be simplified by this other function (see Section 35.9.11)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisagg","type":"boolean","description":"Function is an aggregate function","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proiswindow","type":"boolean","description":"Function is a window function","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosecdef","type":"boolean","description":"Function is a security definer (i.e., a \"setuid\" function)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proleakproof","type":"boolean","description":"The function has no side effects. No information about the arguments is conveyed except via the return value. Any function that might throw an error depending on the values of its arguments is not leak-proof.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisstrict","type":"boolean","description":"Function returns null if any call argument is null. In that case the function won't actually be called at all. Functions that are not \"strict\" must be prepared to handle null inputs.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proretset","type":"boolean","description":"Function returns a set (i.e., multiple values of the specified data type)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provolatile","type":"\"char\"","description":"provolatile tells whether the function's result depends only on its input arguments, or is affected by outside factors. It is i for \"immutable\" functions, which always deliver the same result for the same inputs. It is s for \"stable\" functions, whose results (for fixed inputs) do not change within a scan. It is v for \"volatile\" functions, whose results might change at any time. (Use v also for functions with side-effects, so that calls to them cannot get optimized away.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargs","type":"smallint","description":"Number of input arguments","documented_type":"int2","hidden":false,"type_oid":21,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargdefaults","type":"smallint","description":"Number of arguments that have defaults","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorettype","type":"oid","description":"Data type of the return value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proargtypes","type":"oidvector","description":"An array with the data types of the function arguments. This includes only input arguments (including INOUT and VARIADIC arguments), and thus represents the call signature of the function.","references":"pg_type.oid","hidden":false,"type_oid":30,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"proallargtypes","type":"oid[]","description":"An array with the data types of the function arguments. This includes all arguments (including OUT and INOUT arguments); however, if all the arguments are IN arguments, this field will be null. Note that subscripting is 1-based, whereas for historical reasons proargtypes is subscripted from 0.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargmodes","type":"\"char\"[]","description":"An array with the modes of the function arguments, encoded as i for IN arguments, o for OUT arguments, b for INOUT arguments, v for VARIADIC arguments, t for TABLE arguments. If all the arguments are IN arguments, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargnames","type":"text[]","description":"An array with the names of the function arguments. Arguments without a name are set to empty strings in the array. If none of the arguments have a name, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","hidden":false,"type_oid":1009,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargdefaults","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for default values. This is a list with pronargdefaults elements, corresponding to the last N input arguments (i.e., the last N proargtypes positions). If none of the arguments have defaults, this field will be null.","hidden":false,"type_oid":194,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prosrc","type":"text","description":"This tells the function handler how to invoke the function. It might be the actual source code of the function for interpreted languages, a link symbol, a file name, or just about anything else, depending on the implementation language/call convention.","hidden":false,"type_oid":25,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"probin","type":"text","description":"Additional information about how to invoke the function. Again, the interpretation is language-specific.","hidden":false,"type_oid":25,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"proconfig","type":"text[]","description":"Function's local settings for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":26,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":27,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-proc.html","source_path":"sources/postgresql/9.4/catalog-pg-proc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_proc.h","definition_source_path":"sources/postgresql/9.4/source/pg_proc.h","source_column_count":28,"documentary_schema_source":"documentation","relation_oid":1255,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_proc stores information about functions (or procedures). See CREATE FUNCTION and Section 35.3 for more information.\n\nThe table contains data for aggregate functions as well as plain functions. If proisagg is true, there should be a matching row in pg_aggregate.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proname","type":"name","description":"Name of the function","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronamespace","type":"oid","description":"The OID of the namespace that contains this function","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proowner","type":"oid","description":"Owner of the function","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prolang","type":"oid","description":"Implementation language or call interface of this function","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"procost","type":"real","description":"Estimated execution cost (in units of cpu_operator_cost); if proretset, this is cost per row returned","documented_type":"float4","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorows","type":"real","description":"Estimated number of result rows (zero if not proretset)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provariadic","type":"oid","description":"Data type of the variadic array parameter's elements, or zero if the function does not have a variadic parameter","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"protransform","type":"regproc","description":"Calls to this function can be simplified by this other function (see Section 35.9.11)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisagg","type":"boolean","description":"Function is an aggregate function","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proiswindow","type":"boolean","description":"Function is a window function","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosecdef","type":"boolean","description":"Function is a security definer (i.e., a \"setuid\" function)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proleakproof","type":"boolean","description":"The function has no side effects. No information about the arguments is conveyed except via the return value. Any function that might throw an error depending on the values of its arguments is not leak-proof.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisstrict","type":"boolean","description":"Function returns null if any call argument is null. In that case the function won't actually be called at all. Functions that are not \"strict\" must be prepared to handle null inputs.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proretset","type":"boolean","description":"Function returns a set (i.e., multiple values of the specified data type)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provolatile","type":"\"char\"","description":"provolatile tells whether the function's result depends only on its input arguments, or is affected by outside factors. It is i for \"immutable\" functions, which always deliver the same result for the same inputs. It is s for \"stable\" functions, whose results (for fixed inputs) do not change within a scan. It is v for \"volatile\" functions, whose results might change at any time. (Use v also for functions with side-effects, so that calls to them cannot get optimized away.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargs","type":"smallint","description":"Number of input arguments","documented_type":"int2","hidden":false,"type_oid":21,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargdefaults","type":"smallint","description":"Number of arguments that have defaults","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorettype","type":"oid","description":"Data type of the return value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proargtypes","type":"oidvector","description":"An array with the data types of the function arguments. This includes only input arguments (including INOUT and VARIADIC arguments), and thus represents the call signature of the function.","references":"pg_type.oid","hidden":false,"type_oid":30,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"proallargtypes","type":"oid[]","description":"An array with the data types of the function arguments. This includes all arguments (including OUT and INOUT arguments); however, if all the arguments are IN arguments, this field will be null. Note that subscripting is 1-based, whereas for historical reasons proargtypes is subscripted from 0.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargmodes","type":"\"char\"[]","description":"An array with the modes of the function arguments, encoded as i for IN arguments, o for OUT arguments, b for INOUT arguments, v for VARIADIC arguments, t for TABLE arguments. If all the arguments are IN arguments, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargnames","type":"text[]","description":"An array with the names of the function arguments. Arguments without a name are set to empty strings in the array. If none of the arguments have a name, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","hidden":false,"type_oid":1009,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargdefaults","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for default values. This is a list with pronargdefaults elements, corresponding to the last N input arguments (i.e., the last N proargtypes positions). If none of the arguments have defaults, this field will be null.","hidden":false,"type_oid":194,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"protrftypes","type":"oid[]","description":"Data type OIDs for which to apply transforms.","hidden":false,"type_oid":1028,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"prosrc","type":"text","description":"This tells the function handler how to invoke the function. It might be the actual source code of the function for interpreted languages, a link symbol, a file name, or just about anything else, depending on the implementation language/call convention.","hidden":false,"type_oid":25,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"probin","type":"text","description":"Additional information about how to invoke the function. Again, the interpretation is language-specific.","hidden":false,"type_oid":25,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"proconfig","type":"text[]","description":"Function's local settings for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":27,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":28,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-proc.html","source_path":"sources/postgresql/9.5/catalog-pg-proc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_proc.h","definition_source_path":"sources/postgresql/9.5/source/pg_proc.h","source_column_count":29,"documentary_schema_source":"documentation","relation_oid":1255,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_proc stores information about functions (or procedures). See CREATE FUNCTION and Section 36.3 for more information.\n\nThe table contains data for aggregate functions as well as plain functions. If proisagg is true, there should be a matching row in pg_aggregate.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proname","type":"name","description":"Name of the function","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronamespace","type":"oid","description":"The OID of the namespace that contains this function","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proowner","type":"oid","description":"Owner of the function","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prolang","type":"oid","description":"Implementation language or call interface of this function","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"procost","type":"real","description":"Estimated execution cost (in units of cpu_operator_cost); if proretset, this is cost per row returned","documented_type":"float4","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorows","type":"real","description":"Estimated number of result rows (zero if not proretset)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provariadic","type":"oid","description":"Data type of the variadic array parameter's elements, or zero if the function does not have a variadic parameter","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"protransform","type":"regproc","description":"Calls to this function can be simplified by this other function (see Section 36.9.11)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisagg","type":"boolean","description":"Function is an aggregate function","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proiswindow","type":"boolean","description":"Function is a window function","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosecdef","type":"boolean","description":"Function is a security definer (i.e., a \"setuid\" function)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proleakproof","type":"boolean","description":"The function has no side effects. No information about the arguments is conveyed except via the return value. Any function that might throw an error depending on the values of its arguments is not leak-proof.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisstrict","type":"boolean","description":"Function returns null if any call argument is null. In that case the function won't actually be called at all. Functions that are not \"strict\" must be prepared to handle null inputs.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proretset","type":"boolean","description":"Function returns a set (i.e., multiple values of the specified data type)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provolatile","type":"\"char\"","description":"provolatile tells whether the function's result depends only on its input arguments, or is affected by outside factors. It is i for \"immutable\" functions, which always deliver the same result for the same inputs. It is s for \"stable\" functions, whose results (for fixed inputs) do not change within a scan. It is v for \"volatile\" functions, whose results might change at any time. (Use v also for functions with side-effects, so that calls to them cannot get optimized away.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proparallel","type":"\"char\"","description":"proparallel tells whether the function can be safely run in parallel mode. It is s for functions which are safe to run in parallel mode without restriction. It is r for functions which can be run in parallel mode, but their execution is restricted to the parallel group leader; parallel worker processes cannot invoke these functions. It is u for functions which are unsafe in parallel mode; the presence of such a function forces a serial execution plan.","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargs","type":"smallint","description":"Number of input arguments","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargdefaults","type":"smallint","description":"Number of arguments that have defaults","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorettype","type":"oid","description":"Data type of the return value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proargtypes","type":"oidvector","description":"An array with the data types of the function arguments. This includes only input arguments (including INOUT and VARIADIC arguments), and thus represents the call signature of the function.","references":"pg_type.oid","hidden":false,"type_oid":30,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"proallargtypes","type":"oid[]","description":"An array with the data types of the function arguments. This includes all arguments (including OUT and INOUT arguments); however, if all the arguments are IN arguments, this field will be null. Note that subscripting is 1-based, whereas for historical reasons proargtypes is subscripted from 0.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargmodes","type":"\"char\"[]","description":"An array with the modes of the function arguments, encoded as i for IN arguments, o for OUT arguments, b for INOUT arguments, v for VARIADIC arguments, t for TABLE arguments. If all the arguments are IN arguments, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargnames","type":"text[]","description":"An array with the names of the function arguments. Arguments without a name are set to empty strings in the array. If none of the arguments have a name, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","hidden":false,"type_oid":1009,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargdefaults","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for default values. This is a list with pronargdefaults elements, corresponding to the last N input arguments (i.e., the last N proargtypes positions). If none of the arguments have defaults, this field will be null.","hidden":false,"type_oid":194,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"protrftypes","type":"oid[]","description":"Data type OIDs for which to apply transforms.","hidden":false,"type_oid":1028,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"prosrc","type":"text","description":"This tells the function handler how to invoke the function. It might be the actual source code of the function for interpreted languages, a link symbol, a file name, or just about anything else, depending on the implementation language/call convention.","hidden":false,"type_oid":25,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"probin","type":"text","description":"Additional information about how to invoke the function. Again, the interpretation is language-specific.","hidden":false,"type_oid":25,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"proconfig","type":"text[]","description":"Function's local settings for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":28,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":29,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-proc.html","source_path":"sources/postgresql/9.6/catalog-pg-proc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_proc.h","definition_source_path":"sources/postgresql/9.6/source/pg_proc.h","source_column_count":30,"documentary_schema_source":"documentation","relation_oid":1255,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_proc stores information about functions (or procedures). See CREATE FUNCTION and Section 37.3 for more information.\n\nThe table contains data for aggregate functions as well as plain functions. If proisagg is true, there should be a matching row in pg_aggregate.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proname","type":"name","description":"Name of the function","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronamespace","type":"oid","description":"The OID of the namespace that contains this function","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proowner","type":"oid","description":"Owner of the function","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prolang","type":"oid","description":"Implementation language or call interface of this function","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"procost","type":"real","description":"Estimated execution cost (in units of cpu_operator_cost); if proretset, this is cost per row returned","documented_type":"float4","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorows","type":"real","description":"Estimated number of result rows (zero if not proretset)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provariadic","type":"oid","description":"Data type of the variadic array parameter's elements, or zero if the function does not have a variadic parameter","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"protransform","type":"regproc","description":"Calls to this function can be simplified by this other function (see Section 37.9.10)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisagg","type":"boolean","description":"Function is an aggregate function","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proiswindow","type":"boolean","description":"Function is a window function","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosecdef","type":"boolean","description":"Function is a security definer (i.e., a “setuid” function)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proleakproof","type":"boolean","description":"The function has no side effects. No information about the arguments is conveyed except via the return value. Any function that might throw an error depending on the values of its arguments is not leak-proof.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisstrict","type":"boolean","description":"Function returns null if any call argument is null. In that case the function won't actually be called at all. Functions that are not “strict” must be prepared to handle null inputs.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proretset","type":"boolean","description":"Function returns a set (i.e., multiple values of the specified data type)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provolatile","type":"\"char\"","description":"provolatile tells whether the function's result depends only on its input arguments, or is affected by outside factors. It is i for “immutable” functions, which always deliver the same result for the same inputs. It is s for “stable” functions, whose results (for fixed inputs) do not change within a scan. It is v for “volatile” functions, whose results might change at any time. (Use v also for functions with side-effects, so that calls to them cannot get optimized away.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proparallel","type":"\"char\"","description":"proparallel tells whether the function can be safely run in parallel mode. It is s for functions which are safe to run in parallel mode without restriction. It is r for functions which can be run in parallel mode, but their execution is restricted to the parallel group leader; parallel worker processes cannot invoke these functions. It is u for functions which are unsafe in parallel mode; the presence of such a function forces a serial execution plan.","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargs","type":"smallint","description":"Number of input arguments","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargdefaults","type":"smallint","description":"Number of arguments that have defaults","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorettype","type":"oid","description":"Data type of the return value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proargtypes","type":"oidvector","description":"An array with the data types of the function arguments. This includes only input arguments (including INOUT and VARIADIC arguments), and thus represents the call signature of the function.","references":"pg_type.oid","hidden":false,"type_oid":30,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"proallargtypes","type":"oid[]","description":"An array with the data types of the function arguments. This includes all arguments (including OUT and INOUT arguments); however, if all the arguments are IN arguments, this field will be null. Note that subscripting is 1-based, whereas for historical reasons proargtypes is subscripted from 0.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargmodes","type":"\"char\"[]","description":"An array with the modes of the function arguments, encoded as i for IN arguments, o for OUT arguments, b for INOUT arguments, v for VARIADIC arguments, t for TABLE arguments. If all the arguments are IN arguments, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargnames","type":"text[]","description":"An array with the names of the function arguments. Arguments without a name are set to empty strings in the array. If none of the arguments have a name, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","hidden":false,"type_oid":1009,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargdefaults","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for default values. This is a list with pronargdefaults elements, corresponding to the last N input arguments (i.e., the last N proargtypes positions). If none of the arguments have defaults, this field will be null.","hidden":false,"type_oid":194,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"protrftypes","type":"oid[]","description":"Data type OIDs for which to apply transforms.","hidden":false,"type_oid":1028,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"prosrc","type":"text","description":"This tells the function handler how to invoke the function. It might be the actual source code of the function for interpreted languages, a link symbol, a file name, or just about anything else, depending on the implementation language/call convention.","hidden":false,"type_oid":25,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"probin","type":"text","description":"Additional information about how to invoke the function. Again, the interpretation is language-specific.","hidden":false,"type_oid":25,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"proconfig","type":"text[]","description":"Function's local settings for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":28,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":29,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-proc.html","source_path":"sources/postgresql/10/catalog-pg-proc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_proc.h","definition_source_path":"sources/postgresql/10/source/pg_proc.h","source_column_count":30,"documentary_schema_source":"documentation","relation_oid":1255,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_proc stores information about functions, procedures, aggregate functions, and window functions (collectively also known as routines). See CREATE FUNCTION, CREATE PROCEDURE, and Section 38.3 for more information.\n\nIf prokind indicates that the entry is for an aggregate function, there should be a matching row in pg_aggregate.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proname","type":"name","description":"Name of the function","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronamespace","type":"oid","description":"The OID of the namespace that contains this function","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proowner","type":"oid","description":"Owner of the function","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prolang","type":"oid","description":"Implementation language or call interface of this function","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"procost","type":"real","description":"Estimated execution cost (in units of cpu_operator_cost); if proretset, this is cost per row returned","documented_type":"float4","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorows","type":"real","description":"Estimated number of result rows (zero if not proretset)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provariadic","type":"oid","description":"Data type of the variadic array parameter's elements, or zero if the function does not have a variadic parameter","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"protransform","type":"regproc","description":"Calls to this function can be simplified by this other function (see Section 38.10.10)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prokind","type":"\"char\"","description":"f for a normal function, p for a procedure, a for an aggregate function, or w for a window function","documented_type":"char","hidden":false,"type_oid":18,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosecdef","type":"boolean","description":"Function is a security definer (i.e., a “setuid” function)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proleakproof","type":"boolean","description":"The function has no side effects. No information about the arguments is conveyed except via the return value. Any function that might throw an error depending on the values of its arguments is not leak-proof.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisstrict","type":"boolean","description":"Function returns null if any call argument is null. In that case the function won't actually be called at all. Functions that are not “strict” must be prepared to handle null inputs.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proretset","type":"boolean","description":"Function returns a set (i.e., multiple values of the specified data type)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provolatile","type":"\"char\"","description":"provolatile tells whether the function's result depends only on its input arguments, or is affected by outside factors. It is i for “immutable” functions, which always deliver the same result for the same inputs. It is s for “stable” functions, whose results (for fixed inputs) do not change within a scan. It is v for “volatile” functions, whose results might change at any time. (Use v also for functions with side-effects, so that calls to them cannot get optimized away.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proparallel","type":"\"char\"","description":"proparallel tells whether the function can be safely run in parallel mode. It is s for functions which are safe to run in parallel mode without restriction. It is r for functions which can be run in parallel mode, but their execution is restricted to the parallel group leader; parallel worker processes cannot invoke these functions. It is u for functions which are unsafe in parallel mode; the presence of such a function forces a serial execution plan.","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargs","type":"smallint","description":"Number of input arguments","documented_type":"int2","hidden":false,"type_oid":21,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargdefaults","type":"smallint","description":"Number of arguments that have defaults","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorettype","type":"oid","description":"Data type of the return value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proargtypes","type":"oidvector","description":"An array with the data types of the function arguments. This includes only input arguments (including INOUT and VARIADIC arguments), and thus represents the call signature of the function.","references":"pg_type.oid","hidden":false,"type_oid":30,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"proallargtypes","type":"oid[]","description":"An array with the data types of the function arguments. This includes all arguments (including OUT and INOUT arguments); however, if all the arguments are IN arguments, this field will be null. Note that subscripting is 1-based, whereas for historical reasons proargtypes is subscripted from 0.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargmodes","type":"\"char\"[]","description":"An array with the modes of the function arguments, encoded as i for IN arguments, o for OUT arguments, b for INOUT arguments, v for VARIADIC arguments, t for TABLE arguments. If all the arguments are IN arguments, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargnames","type":"text[]","description":"An array with the names of the function arguments. Arguments without a name are set to empty strings in the array. If none of the arguments have a name, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","hidden":false,"type_oid":1009,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargdefaults","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for default values. This is a list with pronargdefaults elements, corresponding to the last N input arguments (i.e., the last N proargtypes positions). If none of the arguments have defaults, this field will be null.","hidden":false,"type_oid":194,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"protrftypes","type":"oid[]","description":"Data type OIDs for which to apply transforms.","hidden":false,"type_oid":1028,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"prosrc","type":"text","description":"This tells the function handler how to invoke the function. It might be the actual source code of the function for interpreted languages, a link symbol, a file name, or just about anything else, depending on the implementation language/call convention.","hidden":false,"type_oid":25,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"probin","type":"text","description":"Additional information about how to invoke the function. Again, the interpretation is language-specific.","hidden":false,"type_oid":25,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"proconfig","type":"text[]","description":"Function's local settings for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":27,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":28,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-proc.html","source_path":"sources/postgresql/11/catalog-pg-proc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_proc.h","definition_source_path":"sources/postgresql/11/source/pg_proc.h","source_column_count":29,"documentary_schema_source":"documentation","relation_oid":1255,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_proc stores information about functions, procedures, aggregate functions, and window functions (collectively also known as routines). See CREATE FUNCTION, CREATE PROCEDURE, and Section 37.3 for more information.\n\nIf prokind indicates that the entry is for an aggregate function, there should be a matching row in pg_aggregate.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proname","type":"name","description":"Name of the function","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronamespace","type":"oid","description":"The OID of the namespace that contains this function","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proowner","type":"oid","description":"Owner of the function","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prolang","type":"oid","description":"Implementation language or call interface of this function","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"procost","type":"real","description":"Estimated execution cost (in units of cpu_operator_cost); if proretset, this is cost per row returned","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorows","type":"real","description":"Estimated number of result rows (zero if not proretset)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provariadic","type":"oid","description":"Data type of the variadic array parameter's elements, or zero if the function does not have a variadic parameter","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosupport","type":"regproc","description":"Optional planner support function for this function (see Section 37.11)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prokind","type":"\"char\"","description":"f for a normal function, p for a procedure, a for an aggregate function, or w for a window function","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosecdef","type":"boolean","description":"Function is a security definer (i.e., a “setuid” function)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proleakproof","type":"boolean","description":"The function has no side effects. No information about the arguments is conveyed except via the return value. Any function that might throw an error depending on the values of its arguments is not leak-proof.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisstrict","type":"boolean","description":"Function returns null if any call argument is null. In that case the function won't actually be called at all. Functions that are not “strict” must be prepared to handle null inputs.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proretset","type":"boolean","description":"Function returns a set (i.e., multiple values of the specified data type)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provolatile","type":"\"char\"","description":"provolatile tells whether the function's result depends only on its input arguments, or is affected by outside factors. It is i for “immutable” functions, which always deliver the same result for the same inputs. It is s for “stable” functions, whose results (for fixed inputs) do not change within a scan. It is v for “volatile” functions, whose results might change at any time. (Use v also for functions with side-effects, so that calls to them cannot get optimized away.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proparallel","type":"\"char\"","description":"proparallel tells whether the function can be safely run in parallel mode. It is s for functions which are safe to run in parallel mode without restriction. It is r for functions which can be run in parallel mode, but their execution is restricted to the parallel group leader; parallel worker processes cannot invoke these functions. It is u for functions which are unsafe in parallel mode; the presence of such a function forces a serial execution plan.","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargs","type":"smallint","description":"Number of input arguments","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargdefaults","type":"smallint","description":"Number of arguments that have defaults","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorettype","type":"oid","description":"Data type of the return value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proargtypes","type":"oidvector","description":"An array with the data types of the function arguments. This includes only input arguments (including INOUT and VARIADIC arguments), and thus represents the call signature of the function.","references":"pg_type.oid","hidden":false,"type_oid":30,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"proallargtypes","type":"oid[]","description":"An array with the data types of the function arguments. This includes all arguments (including OUT and INOUT arguments); however, if all the arguments are IN arguments, this field will be null. Note that subscripting is 1-based, whereas for historical reasons proargtypes is subscripted from 0.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargmodes","type":"\"char\"[]","description":"An array with the modes of the function arguments, encoded as i for IN arguments, o for OUT arguments, b for INOUT arguments, v for VARIADIC arguments, t for TABLE arguments. If all the arguments are IN arguments, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargnames","type":"text[]","description":"An array with the names of the function arguments. Arguments without a name are set to empty strings in the array. If none of the arguments have a name, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","hidden":false,"type_oid":1009,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargdefaults","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for default values. This is a list with pronargdefaults elements, corresponding to the last N input arguments (i.e., the last N proargtypes positions). If none of the arguments have defaults, this field will be null.","hidden":false,"type_oid":194,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"protrftypes","type":"oid[]","description":"Data type OIDs for which to apply transforms.","hidden":false,"type_oid":1028,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"prosrc","type":"text","description":"This tells the function handler how to invoke the function. It might be the actual source code of the function for interpreted languages, a link symbol, a file name, or just about anything else, depending on the implementation language/call convention.","hidden":false,"type_oid":25,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"probin","type":"text","description":"Additional information about how to invoke the function. Again, the interpretation is language-specific.","hidden":false,"type_oid":25,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"proconfig","type":"text[]","description":"Function's local settings for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":28,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":29,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-proc.html","source_path":"sources/postgresql/12/catalog-pg-proc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_proc.h","definition_source_path":"sources/postgresql/12/source/pg_proc.h","source_column_count":29,"documentary_schema_source":"documentation","relation_oid":1255,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_proc stores information about functions, procedures, aggregate functions, and window functions (collectively also known as routines). See CREATE FUNCTION, CREATE PROCEDURE, and Section 37.3 for more information.\n\nIf prokind indicates that the entry is for an aggregate function, there should be a matching row in pg_aggregate.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proname","type":"name","description":"Name of the function","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronamespace","type":"oid","description":"The OID of the namespace that contains this function","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proowner","type":"oid","description":"Owner of the function","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prolang","type":"oid","description":"Implementation language or call interface of this function","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"procost","type":"real","description":"Estimated execution cost (in units of cpu_operator_cost); if proretset, this is cost per row returned","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorows","type":"real","description":"Estimated number of result rows (zero if not proretset)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provariadic","type":"oid","description":"Data type of the variadic array parameter's elements, or zero if the function does not have a variadic parameter","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosupport","type":"regproc","description":"Optional planner support function for this function (see Section 37.11)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prokind","type":"\"char\"","description":"f for a normal function, p for a procedure, a for an aggregate function, or w for a window function","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosecdef","type":"boolean","description":"Function is a security definer (i.e., a “setuid” function)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proleakproof","type":"boolean","description":"The function has no side effects. No information about the arguments is conveyed except via the return value. Any function that might throw an error depending on the values of its arguments is not leak-proof.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisstrict","type":"boolean","description":"Function returns null if any call argument is null. In that case the function won't actually be called at all. Functions that are not “strict” must be prepared to handle null inputs.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proretset","type":"boolean","description":"Function returns a set (i.e., multiple values of the specified data type)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provolatile","type":"\"char\"","description":"provolatile tells whether the function's result depends only on its input arguments, or is affected by outside factors. It is i for “immutable” functions, which always deliver the same result for the same inputs. It is s for “stable” functions, whose results (for fixed inputs) do not change within a scan. It is v for “volatile” functions, whose results might change at any time. (Use v also for functions with side-effects, so that calls to them cannot get optimized away.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proparallel","type":"\"char\"","description":"proparallel tells whether the function can be safely run in parallel mode. It is s for functions which are safe to run in parallel mode without restriction. It is r for functions which can be run in parallel mode, but their execution is restricted to the parallel group leader; parallel worker processes cannot invoke these functions. It is u for functions which are unsafe in parallel mode; the presence of such a function forces a serial execution plan.","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargs","type":"smallint","description":"Number of input arguments","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargdefaults","type":"smallint","description":"Number of arguments that have defaults","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorettype","type":"oid","description":"Data type of the return value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proargtypes","type":"oidvector","description":"An array of the data types of the function arguments. This includes only input arguments (including INOUT and VARIADIC arguments), and thus represents the call signature of the function.","references":"pg_type.oid","hidden":false,"type_oid":30,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"proallargtypes","type":"oid[]","description":"An array of the data types of the function arguments. This includes all arguments (including OUT and INOUT arguments); however, if all the arguments are IN arguments, this field will be null. Note that subscripting is 1-based, whereas for historical reasons proargtypes is subscripted from 0.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargmodes","type":"\"char\"[]","description":"An array of the modes of the function arguments, encoded as i for IN arguments, o for OUT arguments, b for INOUT arguments, v for VARIADIC arguments, t for TABLE arguments. If all the arguments are IN arguments, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargnames","type":"text[]","description":"An array of the names of the function arguments. Arguments without a name are set to empty strings in the array. If none of the arguments have a name, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","hidden":false,"type_oid":1009,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargdefaults","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for default values. This is a list with pronargdefaults elements, corresponding to the last N input arguments (i.e., the last N proargtypes positions). If none of the arguments have defaults, this field will be null.","hidden":false,"type_oid":194,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"protrftypes","type":"oid[]","description":"An array of the argument/result data type(s) for which to apply transforms (from the function's TRANSFORM clause). Null if none.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"prosrc","type":"text","description":"This tells the function handler how to invoke the function. It might be the actual source code of the function for interpreted languages, a link symbol, a file name, or just about anything else, depending on the implementation language/call convention.","hidden":false,"type_oid":25,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"probin","type":"text","description":"Additional information about how to invoke the function. Again, the interpretation is language-specific.","hidden":false,"type_oid":25,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"proconfig","type":"text[]","description":"Function's local settings for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":28,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":29,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-proc.html","source_path":"sources/postgresql/13/catalog-pg-proc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_proc.h","definition_source_path":"sources/postgresql/13/source/pg_proc.h","source_column_count":29,"documentary_schema_source":"documentation","relation_oid":1255,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_proc stores information about functions, procedures, aggregate functions, and window functions (collectively also known as routines). See CREATE FUNCTION, CREATE PROCEDURE, and Section 38.3 for more information.\n\nIf prokind indicates that the entry is for an aggregate function, there should be a matching row in pg_aggregate.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proname","type":"name","description":"Name of the function","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronamespace","type":"oid","description":"The OID of the namespace that contains this function","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proowner","type":"oid","description":"Owner of the function","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prolang","type":"oid","description":"Implementation language or call interface of this function","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"procost","type":"real","description":"Estimated execution cost (in units of cpu_operator_cost); if proretset, this is cost per row returned","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorows","type":"real","description":"Estimated number of result rows (zero if not proretset)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provariadic","type":"oid","description":"Data type of the variadic array parameter's elements, or zero if the function does not have a variadic parameter","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosupport","type":"regproc","description":"Planner support function for this function (see Section 38.11), or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prokind","type":"\"char\"","description":"f for a normal function, p for a procedure, a for an aggregate function, or w for a window function","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosecdef","type":"boolean","description":"Function is a security definer (i.e., a “setuid” function)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proleakproof","type":"boolean","description":"The function has no side effects. No information about the arguments is conveyed except via the return value. Any function that might throw an error depending on the values of its arguments is not leak-proof.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisstrict","type":"boolean","description":"Function returns null if any call argument is null. In that case the function won't actually be called at all. Functions that are not “strict” must be prepared to handle null inputs.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proretset","type":"boolean","description":"Function returns a set (i.e., multiple values of the specified data type)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provolatile","type":"\"char\"","description":"provolatile tells whether the function's result depends only on its input arguments, or is affected by outside factors. It is i for “immutable” functions, which always deliver the same result for the same inputs. It is s for “stable” functions, whose results (for fixed inputs) do not change within a scan. It is v for “volatile” functions, whose results might change at any time. (Use v also for functions with side-effects, so that calls to them cannot get optimized away.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proparallel","type":"\"char\"","description":"proparallel tells whether the function can be safely run in parallel mode. It is s for functions which are safe to run in parallel mode without restriction. It is r for functions which can be run in parallel mode, but their execution is restricted to the parallel group leader; parallel worker processes cannot invoke these functions. It is u for functions which are unsafe in parallel mode; the presence of such a function forces a serial execution plan.","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargs","type":"smallint","description":"Number of input arguments","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargdefaults","type":"smallint","description":"Number of arguments that have defaults","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorettype","type":"oid","description":"Data type of the return value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proargtypes","type":"oidvector","description":"An array of the data types of the function arguments. This includes only input arguments (including INOUT and VARIADIC arguments), and thus represents the call signature of the function.","references":"pg_type.oid","hidden":false,"type_oid":30,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"proallargtypes","type":"oid[]","description":"An array of the data types of the function arguments. This includes all arguments (including OUT and INOUT arguments); however, if all the arguments are IN arguments, this field will be null. Note that subscripting is 1-based, whereas for historical reasons proargtypes is subscripted from 0.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargmodes","type":"\"char\"[]","description":"An array of the modes of the function arguments, encoded as i for IN arguments, o for OUT arguments, b for INOUT arguments, v for VARIADIC arguments, t for TABLE arguments. If all the arguments are IN arguments, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargnames","type":"text[]","description":"An array of the names of the function arguments. Arguments without a name are set to empty strings in the array. If none of the arguments have a name, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","hidden":false,"type_oid":1009,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargdefaults","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for default values. This is a list with pronargdefaults elements, corresponding to the last N input arguments (i.e., the last N proargtypes positions). If none of the arguments have defaults, this field will be null.","hidden":false,"type_oid":194,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"protrftypes","type":"oid[]","description":"An array of the argument/result data type(s) for which to apply transforms (from the function's TRANSFORM clause). Null if none.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"prosrc","type":"text","description":"This tells the function handler how to invoke the function. It might be the actual source code of the function for interpreted languages, a link symbol, a file name, or just about anything else, depending on the implementation language/call convention.","hidden":false,"type_oid":25,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"probin","type":"text","description":"Additional information about how to invoke the function. Again, the interpretation is language-specific.","hidden":false,"type_oid":25,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prosqlbody","type":"pg_node_tree","description":"Pre-parsed SQL function body. This is used for SQL-language functions when the body is given in SQL-standard notation rather than as a string literal. It's null in other cases.","hidden":false,"type_oid":194,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"proconfig","type":"text[]","description":"Function's local settings for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":29,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":30,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-proc.html","source_path":"sources/postgresql/14/catalog-pg-proc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_proc.h","definition_source_path":"sources/postgresql/14/source/pg_proc.h","source_column_count":30,"documentary_schema_source":"documentation","relation_oid":1255,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_proc stores information about functions, procedures, aggregate functions, and window functions (collectively also known as routines). See CREATE FUNCTION, CREATE PROCEDURE, and Section 38.3 for more information.\n\nIf prokind indicates that the entry is for an aggregate function, there should be a matching row in pg_aggregate.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proname","type":"name","description":"Name of the function","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronamespace","type":"oid","description":"The OID of the namespace that contains this function","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proowner","type":"oid","description":"Owner of the function","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prolang","type":"oid","description":"Implementation language or call interface of this function","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"procost","type":"real","description":"Estimated execution cost (in units of cpu_operator_cost); if proretset, this is cost per row returned","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorows","type":"real","description":"Estimated number of result rows (zero if not proretset)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provariadic","type":"oid","description":"Data type of the variadic array parameter's elements, or zero if the function does not have a variadic parameter","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosupport","type":"regproc","description":"Planner support function for this function (see Section 38.11), or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prokind","type":"\"char\"","description":"f for a normal function, p for a procedure, a for an aggregate function, or w for a window function","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosecdef","type":"boolean","description":"Function is a security definer (i.e., a “setuid” function)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proleakproof","type":"boolean","description":"The function has no side effects. No information about the arguments is conveyed except via the return value. Any function that might throw an error depending on the values of its arguments is not leak-proof.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisstrict","type":"boolean","description":"Function returns null if any call argument is null. In that case the function won't actually be called at all. Functions that are not “strict” must be prepared to handle null inputs.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proretset","type":"boolean","description":"Function returns a set (i.e., multiple values of the specified data type)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provolatile","type":"\"char\"","description":"provolatile tells whether the function's result depends only on its input arguments, or is affected by outside factors. It is i for “immutable” functions, which always deliver the same result for the same inputs. It is s for “stable” functions, whose results (for fixed inputs) do not change within a scan. It is v for “volatile” functions, whose results might change at any time. (Use v also for functions with side-effects, so that calls to them cannot get optimized away.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proparallel","type":"\"char\"","description":"proparallel tells whether the function can be safely run in parallel mode. It is s for functions which are safe to run in parallel mode without restriction. It is r for functions which can be run in parallel mode, but their execution is restricted to the parallel group leader; parallel worker processes cannot invoke these functions. It is u for functions which are unsafe in parallel mode; the presence of such a function forces a serial execution plan.","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargs","type":"smallint","description":"Number of input arguments","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargdefaults","type":"smallint","description":"Number of arguments that have defaults","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorettype","type":"oid","description":"Data type of the return value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proargtypes","type":"oidvector","description":"An array of the data types of the function arguments. This includes only input arguments (including INOUT and VARIADIC arguments), and thus represents the call signature of the function.","references":"pg_type.oid","hidden":false,"type_oid":30,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"proallargtypes","type":"oid[]","description":"An array of the data types of the function arguments. This includes all arguments (including OUT and INOUT arguments); however, if all the arguments are IN arguments, this field will be null. Note that subscripting is 1-based, whereas for historical reasons proargtypes is subscripted from 0.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargmodes","type":"\"char\"[]","description":"An array of the modes of the function arguments, encoded as i for IN arguments, o for OUT arguments, b for INOUT arguments, v for VARIADIC arguments, t for TABLE arguments. If all the arguments are IN arguments, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargnames","type":"text[]","description":"An array of the names of the function arguments. Arguments without a name are set to empty strings in the array. If none of the arguments have a name, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","hidden":false,"type_oid":1009,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargdefaults","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for default values. This is a list with pronargdefaults elements, corresponding to the last N input arguments (i.e., the last N proargtypes positions). If none of the arguments have defaults, this field will be null.","hidden":false,"type_oid":194,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"protrftypes","type":"oid[]","description":"An array of the argument/result data type(s) for which to apply transforms (from the function's TRANSFORM clause). Null if none.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"prosrc","type":"text","description":"This tells the function handler how to invoke the function. It might be the actual source code of the function for interpreted languages, a link symbol, a file name, or just about anything else, depending on the implementation language/call convention.","hidden":false,"type_oid":25,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"probin","type":"text","description":"Additional information about how to invoke the function. Again, the interpretation is language-specific.","hidden":false,"type_oid":25,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prosqlbody","type":"pg_node_tree","description":"Pre-parsed SQL function body. This is used for SQL-language functions when the body is given in SQL-standard notation rather than as a string literal. It's null in other cases.","hidden":false,"type_oid":194,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"proconfig","type":"text[]","description":"Function's local settings for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":29,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":30,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-proc.html","source_path":"sources/postgresql/15/catalog-pg-proc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_proc.h","definition_source_path":"sources/postgresql/15/source/pg_proc.h","source_column_count":30,"documentary_schema_source":"documentation","relation_oid":1255,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_proc stores information about functions, procedures, aggregate functions, and window functions (collectively also known as routines). See CREATE FUNCTION, CREATE PROCEDURE, and Section 38.3 for more information.\n\nIf prokind indicates that the entry is for an aggregate function, there should be a matching row in pg_aggregate.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proname","type":"name","description":"Name of the function","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronamespace","type":"oid","description":"The OID of the namespace that contains this function","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proowner","type":"oid","description":"Owner of the function","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prolang","type":"oid","description":"Implementation language or call interface of this function","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"procost","type":"real","description":"Estimated execution cost (in units of cpu_operator_cost); if proretset, this is cost per row returned","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorows","type":"real","description":"Estimated number of result rows (zero if not proretset)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provariadic","type":"oid","description":"Data type of the variadic array parameter's elements, or zero if the function does not have a variadic parameter","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosupport","type":"regproc","description":"Planner support function for this function (see Section 38.11), or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prokind","type":"\"char\"","description":"f for a normal function, p for a procedure, a for an aggregate function, or w for a window function","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosecdef","type":"boolean","description":"Function is a security definer (i.e., a “setuid” function)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proleakproof","type":"boolean","description":"The function has no side effects. No information about the arguments is conveyed except via the return value. Any function that might throw an error depending on the values of its arguments is not leak-proof.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisstrict","type":"boolean","description":"Function returns null if any call argument is null. In that case the function won't actually be called at all. Functions that are not “strict” must be prepared to handle null inputs.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proretset","type":"boolean","description":"Function returns a set (i.e., multiple values of the specified data type)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provolatile","type":"\"char\"","description":"provolatile tells whether the function's result depends only on its input arguments, or is affected by outside factors. It is i for “immutable” functions, which always deliver the same result for the same inputs. It is s for “stable” functions, whose results (for fixed inputs) do not change within a scan. It is v for “volatile” functions, whose results might change at any time. (Use v also for functions with side-effects, so that calls to them cannot get optimized away.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proparallel","type":"\"char\"","description":"proparallel tells whether the function can be safely run in parallel mode. It is s for functions which are safe to run in parallel mode without restriction. It is r for functions which can be run in parallel mode, but their execution is restricted to the parallel group leader; parallel worker processes cannot invoke these functions. It is u for functions which are unsafe in parallel mode; the presence of such a function forces a serial execution plan.","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargs","type":"smallint","description":"Number of input arguments","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargdefaults","type":"smallint","description":"Number of arguments that have defaults","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorettype","type":"oid","description":"Data type of the return value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proargtypes","type":"oidvector","description":"An array of the data types of the function arguments. This includes only input arguments (including INOUT and VARIADIC arguments), and thus represents the call signature of the function.","references":"pg_type.oid","hidden":false,"type_oid":30,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"proallargtypes","type":"oid[]","description":"An array of the data types of the function arguments. This includes all arguments (including OUT and INOUT arguments); however, if all the arguments are IN arguments, this field will be null. Note that subscripting is 1-based, whereas for historical reasons proargtypes is subscripted from 0.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargmodes","type":"\"char\"[]","description":"An array of the modes of the function arguments, encoded as i for IN arguments, o for OUT arguments, b for INOUT arguments, v for VARIADIC arguments, t for TABLE arguments. If all the arguments are IN arguments, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargnames","type":"text[]","description":"An array of the names of the function arguments. Arguments without a name are set to empty strings in the array. If none of the arguments have a name, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","hidden":false,"type_oid":1009,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargdefaults","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for default values. This is a list with pronargdefaults elements, corresponding to the last N input arguments (i.e., the last N proargtypes positions). If none of the arguments have defaults, this field will be null.","hidden":false,"type_oid":194,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"protrftypes","type":"oid[]","description":"An array of the argument/result data type(s) for which to apply transforms (from the function's TRANSFORM clause). Null if none.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"prosrc","type":"text","description":"This tells the function handler how to invoke the function. It might be the actual source code of the function for interpreted languages, a link symbol, a file name, or just about anything else, depending on the implementation language/call convention.","hidden":false,"type_oid":25,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"probin","type":"text","description":"Additional information about how to invoke the function. Again, the interpretation is language-specific.","hidden":false,"type_oid":25,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prosqlbody","type":"pg_node_tree","description":"Pre-parsed SQL function body. This is used for SQL-language functions when the body is given in SQL-standard notation rather than as a string literal. It's null in other cases.","hidden":false,"type_oid":194,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"proconfig","type":"text[]","description":"Function's local settings for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":29,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":30,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-proc.html","source_path":"sources/postgresql/16/catalog-pg-proc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_proc.h","definition_source_path":"sources/postgresql/16/source/pg_proc.h","source_column_count":30,"documentary_schema_source":"documentation","relation_oid":1255,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_proc stores information about functions, procedures, aggregate functions, and window functions (collectively also known as routines). See CREATE FUNCTION, CREATE PROCEDURE, and Section 36.3 for more information.\n\nIf prokind indicates that the entry is for an aggregate function, there should be a matching row in pg_aggregate.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proname","type":"name","description":"Name of the function","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronamespace","type":"oid","description":"The OID of the namespace that contains this function","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proowner","type":"oid","description":"Owner of the function","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prolang","type":"oid","description":"Implementation language or call interface of this function","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"procost","type":"real","description":"Estimated execution cost (in units of cpu_operator_cost); if proretset, this is cost per row returned","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorows","type":"real","description":"Estimated number of result rows (zero if not proretset)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provariadic","type":"oid","description":"Data type of the variadic array parameter's elements, or zero if the function does not have a variadic parameter","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosupport","type":"regproc","description":"Planner support function for this function (see Section 36.11), or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prokind","type":"\"char\"","description":"f for a normal function, p for a procedure, a for an aggregate function, or w for a window function","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosecdef","type":"boolean","description":"Function is a security definer (i.e., a “setuid” function)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proleakproof","type":"boolean","description":"The function has no side effects. No information about the arguments is conveyed except via the return value. Any function that might throw an error depending on the values of its arguments is not leak-proof.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisstrict","type":"boolean","description":"Function returns null if any call argument is null. In that case the function won't actually be called at all. Functions that are not “strict” must be prepared to handle null inputs.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proretset","type":"boolean","description":"Function returns a set (i.e., multiple values of the specified data type)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provolatile","type":"\"char\"","description":"provolatile tells whether the function's result depends only on its input arguments, or is affected by outside factors. It is i for “immutable” functions, which always deliver the same result for the same inputs. It is s for “stable” functions, whose results (for fixed inputs) do not change within a scan. It is v for “volatile” functions, whose results might change at any time. (Use v also for functions with side-effects, so that calls to them cannot get optimized away.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proparallel","type":"\"char\"","description":"proparallel tells whether the function can be safely run in parallel mode. It is s for functions which are safe to run in parallel mode without restriction. It is r for functions which can be run in parallel mode, but their execution is restricted to the parallel group leader; parallel worker processes cannot invoke these functions. It is u for functions which are unsafe in parallel mode; the presence of such a function forces a serial execution plan.","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargs","type":"smallint","description":"Number of input arguments","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargdefaults","type":"smallint","description":"Number of arguments that have defaults","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorettype","type":"oid","description":"Data type of the return value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proargtypes","type":"oidvector","description":"An array of the data types of the function arguments. This includes only input arguments (including INOUT and VARIADIC arguments), and thus represents the call signature of the function.","references":"pg_type.oid","hidden":false,"type_oid":30,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"proallargtypes","type":"oid[]","description":"An array of the data types of the function arguments. This includes all arguments (including OUT and INOUT arguments); however, if all the arguments are IN arguments, this field will be null. Note that subscripting is 1-based, whereas for historical reasons proargtypes is subscripted from 0.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargmodes","type":"\"char\"[]","description":"An array of the modes of the function arguments, encoded as i for IN arguments, o for OUT arguments, b for INOUT arguments, v for VARIADIC arguments, t for TABLE arguments. If all the arguments are IN arguments, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargnames","type":"text[]","description":"An array of the names of the function arguments. Arguments without a name are set to empty strings in the array. If none of the arguments have a name, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","hidden":false,"type_oid":1009,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargdefaults","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for default values. This is a list with pronargdefaults elements, corresponding to the last N input arguments (i.e., the last N proargtypes positions). If none of the arguments have defaults, this field will be null.","hidden":false,"type_oid":194,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"protrftypes","type":"oid[]","description":"An array of the argument/result data type(s) for which to apply transforms (from the function's TRANSFORM clause). Null if none.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"prosrc","type":"text","description":"This tells the function handler how to invoke the function. It might be the actual source code of the function for interpreted languages, a link symbol, a file name, or just about anything else, depending on the implementation language/call convention.","hidden":false,"type_oid":25,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"probin","type":"text","description":"Additional information about how to invoke the function. Again, the interpretation is language-specific.","hidden":false,"type_oid":25,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prosqlbody","type":"pg_node_tree","description":"Pre-parsed SQL function body. This is used for SQL-language functions when the body is given in SQL-standard notation rather than as a string literal. It's null in other cases.","hidden":false,"type_oid":194,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"proconfig","type":"text[]","description":"Function's local settings for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":29,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proacl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":30,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-proc.html","source_path":"sources/postgresql/17/catalog-pg-proc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_proc.h","definition_source_path":"sources/postgresql/17/source/pg_proc.h","source_column_count":30,"documentary_schema_source":"documentation","relation_oid":1255,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_proc stores information about functions, procedures, aggregate functions, and window functions (collectively also known as routines). See CREATE FUNCTION, CREATE PROCEDURE, and Section 36.3 for more information.\n\nIf prokind indicates that the entry is for an aggregate function, there should be a matching row in pg_aggregate.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proname","type":"name","description":"Name of the function","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronamespace","type":"oid","description":"The OID of the namespace that contains this function","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proowner","type":"oid","description":"Owner of the function","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prolang","type":"oid","description":"Implementation language or call interface of this function","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"procost","type":"real","description":"Estimated execution cost (in units of cpu_operator_cost); if proretset, this is cost per row returned","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorows","type":"real","description":"Estimated number of result rows (zero if not proretset)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provariadic","type":"oid","description":"Data type of the variadic array parameter's elements, or zero if the function does not have a variadic parameter","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosupport","type":"regproc","description":"Planner support function for this function (see Section 36.11), or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prokind","type":"\"char\"","description":"f for a normal function, p for a procedure, a for an aggregate function, or w for a window function","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosecdef","type":"boolean","description":"Function is a security definer (i.e., a “setuid” function)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proleakproof","type":"boolean","description":"The function has no side effects. No information about the arguments is conveyed except via the return value. Any function that might throw an error depending on the values of its arguments is not leakproof.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisstrict","type":"boolean","description":"Function returns null if any call argument is null. In that case the function won't actually be called at all. Functions that are not “strict” must be prepared to handle null inputs.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proretset","type":"boolean","description":"Function returns a set (i.e., multiple values of the specified data type)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provolatile","type":"\"char\"","description":"provolatile tells whether the function's result depends only on its input arguments, or is affected by outside factors. It is i for “immutable” functions, which always deliver the same result for the same inputs. It is s for “stable” functions, whose results (for fixed inputs) do not change within a scan. It is v for “volatile” functions, whose results might change at any time. (Use v also for functions with side-effects, so that calls to them cannot get optimized away.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proparallel","type":"\"char\"","description":"proparallel tells whether the function can be safely run in parallel mode. It is s for functions which are safe to run in parallel mode without restriction. It is r for functions which can be run in parallel mode, but their execution is restricted to the parallel group leader; parallel worker processes cannot invoke these functions. It is u for functions which are unsafe in parallel mode; the presence of such a function forces a serial execution plan.","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargs","type":"smallint","description":"Number of input arguments","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargdefaults","type":"smallint","description":"Number of arguments that have defaults","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorettype","type":"oid","description":"Data type of the return value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proargtypes","type":"oidvector","description":"An array of the data types of the function arguments. This includes only input arguments (including INOUT and VARIADIC arguments), and thus represents the call signature of the function.","references":"pg_type.oid","hidden":false,"type_oid":30,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"proallargtypes","type":"oid[]","description":"An array of the data types of the function arguments. This includes all arguments (including OUT and INOUT arguments); however, if all the arguments are IN arguments, this field will be null. Note that subscripting is 1-based, whereas for historical reasons proargtypes is subscripted from 0.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargmodes","type":"\"char\"[]","description":"An array of the modes of the function arguments, encoded as i for IN arguments, o for OUT arguments, b for INOUT arguments, v for VARIADIC arguments, t for TABLE arguments. If all the arguments are IN arguments, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargnames","type":"text[]","description":"An array of the names of the function arguments. Arguments without a name are set to empty strings in the array. If none of the arguments have a name, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","hidden":false,"type_oid":1009,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargdefaults","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for default values. This is a list with pronargdefaults elements, corresponding to the last N input arguments (i.e., the last N proargtypes positions). If none of the arguments have defaults, this field will be null.","hidden":false,"type_oid":194,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"protrftypes","type":"oid[]","description":"An array of the argument/result data type(s) for which to apply transforms (from the function's TRANSFORM clause). Null if none.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"prosrc","type":"text","description":"This tells the function handler how to invoke the function. It might be the actual source code of the function for interpreted languages, a link symbol, a file name, or just about anything else, depending on the implementation language/call convention.","hidden":false,"type_oid":25,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"probin","type":"text","description":"Additional information about how to invoke the function. Again, the interpretation is language-specific.","hidden":false,"type_oid":25,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prosqlbody","type":"pg_node_tree","description":"Pre-parsed SQL function body. This is used for SQL-language functions when the body is given in SQL-standard notation rather than as a string literal. It's null in other cases.","hidden":false,"type_oid":194,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"proconfig","type":"text[]","description":"Function's local settings for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":29,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proacl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":30,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-proc.html","source_path":"sources/postgresql/18/catalog-pg-proc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_proc.h","definition_source_path":"sources/postgresql/18/source/pg_proc.h","source_column_count":30,"documentary_schema_source":"documentation","relation_oid":1255,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_proc stores information about functions, procedures, aggregate functions, and window functions (collectively also known as routines). See CREATE FUNCTION, CREATE PROCEDURE, and Section 36.3 for more information.\n\nIf prokind indicates that the entry is for an aggregate function, there should be a matching row in pg_aggregate.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proname","type":"name","description":"Name of the function","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronamespace","type":"oid","description":"The OID of the namespace that contains this function","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proowner","type":"oid","description":"Owner of the function","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prolang","type":"oid","description":"Implementation language or call interface of this function","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"procost","type":"real","description":"Estimated execution cost (in units of cpu_operator_cost); if proretset, this is cost per row returned","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorows","type":"real","description":"Estimated number of result rows (zero if not proretset)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provariadic","type":"oid","description":"Data type of the variadic array parameter's elements, or zero if the function does not have a variadic parameter","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosupport","type":"regproc","description":"Planner support function for this function (see Section 36.11), or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prokind","type":"\"char\"","description":"f for a normal function, p for a procedure, a for an aggregate function, or w for a window function","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prosecdef","type":"boolean","description":"Function is a security definer (i.e., a “setuid” function)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proleakproof","type":"boolean","description":"The function has no side effects. No information about the arguments is conveyed except via the return value. Any function that might throw an error depending on the values of its arguments is not leakproof.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proisstrict","type":"boolean","description":"Function returns null if any call argument is null. In that case the function won't actually be called at all. Functions that are not “strict” must be prepared to handle null inputs.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proretset","type":"boolean","description":"Function returns a set (i.e., multiple values of the specified data type)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provolatile","type":"\"char\"","description":"provolatile tells whether the function's result depends only on its input arguments, or is affected by outside factors. It is i for “immutable” functions, which always deliver the same result for the same inputs. It is s for “stable” functions, whose results (for fixed inputs) do not change within a scan. It is v for “volatile” functions, whose results might change at any time. (Use v also for functions with side-effects, so that calls to them cannot get optimized away.)","documented_type":"char","hidden":false,"type_oid":18,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proparallel","type":"\"char\"","description":"proparallel tells whether the function can be safely run in parallel mode. It is s for functions which are safe to run in parallel mode without restriction. It is r for functions which can be run in parallel mode, but their execution is restricted to the parallel group leader; parallel worker processes cannot invoke these functions. It is u for functions which are unsafe in parallel mode; the presence of such a function forces a serial execution plan.","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargs","type":"smallint","description":"Number of input arguments","documented_type":"int2","hidden":false,"type_oid":21,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pronargdefaults","type":"smallint","description":"Number of arguments that have defaults","documented_type":"int2","hidden":false,"type_oid":21,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prorettype","type":"oid","description":"Data type of the return value","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proargtypes","type":"oidvector","description":"An array of the data types of the function arguments. This includes only input arguments (including INOUT and VARIADIC arguments), and thus represents the call signature of the function.","references":"pg_type.oid","hidden":false,"type_oid":30,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"proallargtypes","type":"oid[]","description":"An array of the data types of the function arguments. This includes all arguments (including OUT and INOUT arguments); however, if all the arguments are IN arguments, this field will be null. Note that subscripting is 1-based, whereas for historical reasons proargtypes is subscripted from 0.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargmodes","type":"\"char\"[]","description":"An array of the modes of the function arguments, encoded as i for IN arguments, o for OUT arguments, b for INOUT arguments, v for VARIADIC arguments, t for TABLE arguments. If all the arguments are IN arguments, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargnames","type":"text[]","description":"An array of the names of the function arguments. Arguments without a name are set to empty strings in the array. If none of the arguments have a name, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","hidden":false,"type_oid":1009,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proargdefaults","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for default values. This is a list with pronargdefaults elements, corresponding to the last N input arguments (i.e., the last N proargtypes positions). If none of the arguments have defaults, this field will be null.","hidden":false,"type_oid":194,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"protrftypes","type":"oid[]","description":"An array of the argument/result data type(s) for which to apply transforms (from the function's TRANSFORM clause). Null if none.","references":"pg_type.oid","hidden":false,"type_oid":1028,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"prosrc","type":"text","description":"This tells the function handler how to invoke the function. It might be the actual source code of the function for interpreted languages, a link symbol, a file name, or just about anything else, depending on the implementation language/call convention.","hidden":false,"type_oid":25,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"probin","type":"text","description":"Additional information about how to invoke the function. Again, the interpretation is language-specific.","hidden":false,"type_oid":25,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prosqlbody","type":"pg_node_tree","description":"Pre-parsed SQL function body. This is used for SQL-language functions when the body is given in SQL-standard notation rather than as a string literal. It's null in other cases.","hidden":false,"type_oid":194,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"proconfig","type":"text[]","description":"Function's local settings for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":29,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"proacl","type":"aclitem[]","description":"Access privileges; see Section 5.9 for details","hidden":false,"type_oid":1034,"attnum":30,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-proc.html","source_path":"sources/postgresql/19/catalog-pg-proc.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_proc.h","definition_source_path":"sources/postgresql/19/source/pg_proc.h","source_column_count":30,"documentary_schema_source":"documentation","relation_oid":1255,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[{"name":"proargdefaults","from":"text","to":"pg_node_tree"}],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[{"name":"protransform","type":"regproc","description":"Calls to this function can be simplified by this other function (see Section 35.9.11)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proleakproof","type":"boolean","description":"The function has no side effects. No information about the arguments is conveyed except via the return value. Any function that might throw an error depending on the values of its arguments is not leak-proof.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[{"name":"protrftypes","type":"oid[]","description":"Data type OIDs for which to apply transforms.","hidden":false,"type_oid":1028,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[{"name":"prosrc","attribute":"not_null","from":false,"to":true}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.5","to":"9.6","status":"changed","added_columns":[{"name":"proparallel","type":"\"char\"","description":"proparallel tells whether the function can be safely run in parallel mode. It is s for functions which are safe to run in parallel mode without restriction. It is r for functions which can be run in parallel mode, but their execution is restricted to the parallel group leader; parallel worker processes cannot invoke these functions. It is u for functions which are unsafe in parallel mode; the presence of such a function forces a serial execution plan.","documented_type":"char","hidden":false,"type_oid":18,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"protransform","from":"Calls to this function can be simplified by this other function (see Section 35.9.11)","to":"Calls to this function can be simplified by this other function (see Section 36.9.11)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"proisstrict","from":"Function returns null if any call argument is null. In that case the function won't actually be called at all. Functions that are not \"strict\" must be prepared to handle null inputs.","to":"Function returns null if any call argument is null. In that case the function won't actually be called at all. Functions that are not “strict” must be prepared to handle null inputs."},{"name":"prosecdef","from":"Function is a security definer (i.e., a \"setuid\" function)","to":"Function is a security definer (i.e., a “setuid” function)"},{"name":"protransform","from":"Calls to this function can be simplified by this other function (see Section 36.9.11)","to":"Calls to this function can be simplified by this other function (see Section 37.9.10)"},{"name":"provolatile","from":"provolatile tells whether the function's result depends only on its input arguments, or is affected by outside factors. It is i for \"immutable\" functions, which always deliver the same result for the same inputs. It is s for \"stable\" functions, whose results (for fixed inputs) do not change within a scan. It is v for \"volatile\" functions, whose results might change at any time. (Use v also for functions with side-effects, so that calls to them cannot get optimized away.)","to":"provolatile tells whether the function's result depends only on its input arguments, or is affected by outside factors. It is i for “immutable” functions, which always deliver the same result for the same inputs. It is s for “stable” functions, whose results (for fixed inputs) do not change within a scan. It is v for “volatile” functions, whose results might change at any time. (Use v also for functions with side-effects, so that calls to them cannot get optimized away.)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"10","to":"11","status":"changed","added_columns":[{"name":"prokind","type":"\"char\"","description":"f for a normal function, p for a procedure, a for an aggregate function, or w for a window function","documented_type":"char","hidden":false,"type_oid":18,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[{"name":"proisagg","type":"boolean","description":"Function is an aggregate function","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"proiswindow","type":"boolean","description":"Function is a window function","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"type_changes":[],"description_changes":[{"name":"protransform","from":"Calls to this function can be simplified by this other function (see Section 37.9.10)","to":"Calls to this function can be simplified by this other function (see Section 38.10.10)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"11","to":"12","status":"changed","added_columns":[{"name":"prosupport","type":"regproc","description":"Optional planner support function for this function (see Section 37.11)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[{"name":"protransform","type":"regproc","description":"Calls to this function can be simplified by this other function (see Section 38.10.10)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"},{"name":"proacl","from":"Access privileges; see GRANT and REVOKE for details","to":"Access privileges; see Section 5.7 for details"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"proallargtypes","from":"An array with the data types of the function arguments. This includes all arguments (including OUT and INOUT arguments); however, if all the arguments are IN arguments, this field will be null. Note that subscripting is 1-based, whereas for historical reasons proargtypes is subscripted from 0.","to":"An array of the data types of the function arguments. This includes all arguments (including OUT and INOUT arguments); however, if all the arguments are IN arguments, this field will be null. Note that subscripting is 1-based, whereas for historical reasons proargtypes is subscripted from 0."},{"name":"proargmodes","from":"An array with the modes of the function arguments, encoded as i for IN arguments, o for OUT arguments, b for INOUT arguments, v for VARIADIC arguments, t for TABLE arguments. If all the arguments are IN arguments, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","to":"An array of the modes of the function arguments, encoded as i for IN arguments, o for OUT arguments, b for INOUT arguments, v for VARIADIC arguments, t for TABLE arguments. If all the arguments are IN arguments, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes."},{"name":"proargnames","from":"An array with the names of the function arguments. Arguments without a name are set to empty strings in the array. If none of the arguments have a name, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.","to":"An array of the names of the function arguments. Arguments without a name are set to empty strings in the array. If none of the arguments have a name, this field will be null. Note that subscripts correspond to positions of proallargtypes not proargtypes."},{"name":"proargtypes","from":"An array with the data types of the function arguments. This includes only input arguments (including INOUT and VARIADIC arguments), and thus represents the call signature of the function.","to":"An array of the data types of the function arguments. This includes only input arguments (including INOUT and VARIADIC arguments), and thus represents the call signature of the function."},{"name":"protrftypes","from":"Data type OIDs for which to apply transforms.","to":"An array of the argument/result data type(s) for which to apply transforms (from the function's TRANSFORM clause). Null if none."}],"reference_changes":[{"name":"protrftypes","from":"","to":"pg_type.oid"}],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[{"name":"prosqlbody","type":"pg_node_tree","description":"Pre-parsed SQL function body. This is used for SQL-language functions when the body is given in SQL-standard notation rather than as a string literal. It's null in other cases.","hidden":false,"type_oid":194,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"prosupport","from":"Optional planner support function for this function (see Section 37.11)","to":"Planner support function for this function (see Section 38.11), or zero if none"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"proacl","from":"Access privileges; see Section 5.7 for details","to":"Access privileges; see Section 5.8 for details"},{"name":"prosupport","from":"Planner support function for this function (see Section 38.11), or zero if none","to":"Planner support function for this function (see Section 36.11), or zero if none"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"17","to":"18","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"proleakproof","from":"The function has no side effects. No information about the arguments is conveyed except via the return value. Any function that might throw an error depending on the values of its arguments is not leak-proof.","to":"The function has no side effects. No information about the arguments is conveyed except via the return value. Any function that might throw an error depending on the values of its arguments is not leakproof."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"proacl","from":"Access privileges; see Section 5.8 for details","to":"Access privileges; see Section 5.9 for details"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_propgraph_element","kind":"catalog","summary":"property graph elements (vertices and edges)","first_version":"19","last_version":"19","versions":{"19":{"description":"The catalog pg_propgraph_element stores information about the vertices and edges of a property graph, collectively called the elements of the property graph.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgepgid","type":"oid","description":"Reference to the property graph that this element belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgerelid","type":"oid","description":"Reference to the table that contains the data for this property graph element","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgealias","type":"name","description":"The alias of the element. This is a unique identifier for the element within the graph. It is set when the property graph is defined and defaults to the name of the underlying element table.","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgekind","type":"\"char\"","description":"v for a vertex, e for an edge","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgesrcvertexid","type":"oid","description":"For an edge, a link to the source vertex. (Zero for a vertex.)","references":"pg_propgraph_element.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgedestvertexid","type":"oid","description":"For an edge, a link to the destination vertex. (Zero for a vertex.)","references":"pg_propgraph_element.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgekey","type":"smallint[]","description":"An array of column numbers in the table referenced by pgerelid that defines the key to use for this element table. (This defaults to the primary key when the property graph is created.)","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"pgesrckey","type":"smallint[]","description":"For an edge, an array of column numbers in the table referenced by pgerelid that defines the source key to use for this element table. (Null for a vertex.) The combination of pgesrckey and pgesrcref creates the link between the edge and the source vertex.","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":9,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"pgesrcref","type":"smallint[]","description":"For an edge, an array of column numbers in the table reached via pgesrcvertexid. (Null for a vertex.) The combination of pgesrckey and pgesrcref creates the link between the edge and the source vertex.","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":10,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"pgesrceqop","type":"oid[]","description":"For an edge, an array of equality operators for pgesrcref = pgesrckey comparison. (Null for a vertex.)","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":11,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"pgedestkey","type":"smallint[]","description":"For an edge, an array of column numbers in the table referenced by pgerelid that defines the destination key to use for this element table. (Null for a vertex.) The combination of pgedestkey and pgedestref creates the link between the edge and the destination vertex.","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":12,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"pgedestref","type":"smallint[]","description":"For an edge, an array of column numbers in the table reached via pgedestvertexid. (Null for a vertex.) The combination of pgedestkey and pgedestref creates the link between the edge and the destination vertex.","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"pgedesteqop","type":"oid[]","description":"For an edge, an array of equality operators for pgedestref = pgedestkey comparison. (Null for a vertex.)","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":14,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-propgraph-element.html","source_path":"sources/postgresql/19/catalog-pg-propgraph-element.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_propgraph_element.h","definition_source_path":"sources/postgresql/19/source/pg_propgraph_element.h","source_column_count":14,"documentary_schema_source":"documentation","relation_oid":6466,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"18","to":"19","status":"added","added_columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgepgid","type":"oid","description":"Reference to the property graph that this element belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgerelid","type":"oid","description":"Reference to the table that contains the data for this property graph element","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgealias","type":"name","description":"The alias of the element. This is a unique identifier for the element within the graph. It is set when the property graph is defined and defaults to the name of the underlying element table.","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgekind","type":"\"char\"","description":"v for a vertex, e for an edge","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgesrcvertexid","type":"oid","description":"For an edge, a link to the source vertex. (Zero for a vertex.)","references":"pg_propgraph_element.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgedestvertexid","type":"oid","description":"For an edge, a link to the destination vertex. (Zero for a vertex.)","references":"pg_propgraph_element.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgekey","type":"smallint[]","description":"An array of column numbers in the table referenced by pgerelid that defines the key to use for this element table. (This defaults to the primary key when the property graph is created.)","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"pgesrckey","type":"smallint[]","description":"For an edge, an array of column numbers in the table referenced by pgerelid that defines the source key to use for this element table. (Null for a vertex.) The combination of pgesrckey and pgesrcref creates the link between the edge and the source vertex.","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":9,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"pgesrcref","type":"smallint[]","description":"For an edge, an array of column numbers in the table reached via pgesrcvertexid. (Null for a vertex.) The combination of pgesrckey and pgesrcref creates the link between the edge and the source vertex.","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":10,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"pgesrceqop","type":"oid[]","description":"For an edge, an array of equality operators for pgesrcref = pgesrckey comparison. (Null for a vertex.)","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":11,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"pgedestkey","type":"smallint[]","description":"For an edge, an array of column numbers in the table referenced by pgerelid that defines the destination key to use for this element table. (Null for a vertex.) The combination of pgedestkey and pgedestref creates the link between the edge and the destination vertex.","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":12,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"pgedestref","type":"smallint[]","description":"For an edge, an array of column numbers in the table reached via pgedestvertexid. (Null for a vertex.) The combination of pgedestkey and pgedestref creates the link between the edge and the destination vertex.","references":"pg_attribute.attnum","documented_type":"int2[]","hidden":false,"type_oid":1005,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"pgedesteqop","type":"oid[]","description":"For an edge, an array of equality operators for pgedestref = pgedestkey comparison. (Null for a vertex.)","references":"pg_operator.oid","hidden":false,"type_oid":1028,"attnum":14,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_propgraph_element_label","kind":"catalog","summary":"property graph links between elements and labels","first_version":"19","last_version":"19","versions":{"19":{"description":"The catalog pg_propgraph_element_label stores information about which labels apply to which elements.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgellabelid","type":"oid","description":"Reference to the label","references":"pg_propgraph_label.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgelelid","type":"oid","description":"Reference to the element","references":"pg_propgraph_element.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-propgraph-element-label.html","source_path":"sources/postgresql/19/catalog-pg-propgraph-element-label.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_propgraph_element_label.h","definition_source_path":"sources/postgresql/19/source/pg_propgraph_element_label.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":6472,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"18","to":"19","status":"added","added_columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgellabelid","type":"oid","description":"Reference to the label","references":"pg_propgraph_label.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgelelid","type":"oid","description":"Reference to the element","references":"pg_propgraph_element.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_propgraph_label","kind":"catalog","summary":"property graph labels","first_version":"19","last_version":"19","versions":{"19":{"description":"The catalog pg_propgraph_label stores information about the labels in a property graph.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pglpgid","type":"oid","description":"Reference to the property graph that this label belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgllabel","type":"name","description":"The name of the label. This is unique among the labels in a graph.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-propgraph-label.html","source_path":"sources/postgresql/19/catalog-pg-propgraph-label.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_propgraph_label.h","definition_source_path":"sources/postgresql/19/source/pg_propgraph_label.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":6470,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"18","to":"19","status":"added","added_columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pglpgid","type":"oid","description":"Reference to the property graph that this label belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgllabel","type":"name","description":"The name of the label. This is unique among the labels in a graph.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_propgraph_label_property","kind":"catalog","summary":"property graph label-specific property definitions","first_version":"19","last_version":"19","versions":{"19":{"description":"The catalog pg_propgraph_label_property stores information about the properties in a property graph that are specific to a label. In particular, this stores the expression that defines the property.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"plppropid","type":"oid","description":"Reference to the property","references":"pg_propgraph_property.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"plpellabelid","type":"oid","description":"Reference to the label (indirectly via pg_propgraph_element_label, which then links to pg_propgraph_label)","references":"pg_propgraph_element_label.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"plpexpr","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the property's definition. The expression references the table reached via pg_propgraph_element_label and pg_propgraph_element.","hidden":false,"type_oid":194,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-propgraph-label-property.html","source_path":"sources/postgresql/19/catalog-pg-propgraph-label-property.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_propgraph_label_property.h","definition_source_path":"sources/postgresql/19/source/pg_propgraph_label_property.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":6482,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"18","to":"19","status":"added","added_columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"plppropid","type":"oid","description":"Reference to the property","references":"pg_propgraph_property.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"plpellabelid","type":"oid","description":"Reference to the label (indirectly via pg_propgraph_element_label, which then links to pg_propgraph_label)","references":"pg_propgraph_element_label.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"plpexpr","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the property's definition. The expression references the table reached via pg_propgraph_element_label and pg_propgraph_element.","hidden":false,"type_oid":194,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_propgraph_property","kind":"catalog","summary":"property graph properties","first_version":"19","last_version":"19","versions":{"19":{"description":"The catalog pg_propgraph_property stores information about the properties in a property graph. This only stores information that applies to a property throughout the graph, independent of what label or element it is on. Additional information, including the actual expressions that define the properties are in the catalog pg_propgraph_label_property.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgppgid","type":"oid","description":"Reference to the property graph that this property belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgpname","type":"name","description":"The name of the property. This is unique among the properties in a graph.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgptypid","type":"oid","description":"The data type of this property. (This is required to be fixed for a given property in a property graph, even if the property is defined multiple times in different elements and labels.)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgptypmod","type":"integer","description":"typmod to be applied to the data type of this property. (This is required to be fixed for a given property in a property graph, even if the property is defined multiple times in different elements and labels.)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgpcollation","type":"oid","description":"The defined collation of this property, or zero if the property is not of a collatable data type. (This is required to be fixed for a given property in a property graph, even if the property is defined multiple times in different elements and labels.)","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-propgraph-property.html","source_path":"sources/postgresql/19/catalog-pg-propgraph-property.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_propgraph_property.h","definition_source_path":"sources/postgresql/19/source/pg_propgraph_property.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":6473,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"18","to":"19","status":"added","added_columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgppgid","type":"oid","description":"Reference to the property graph that this property belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgpname","type":"name","description":"The name of the property. This is unique among the properties in a graph.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgptypid","type":"oid","description":"The data type of this property. (This is required to be fixed for a given property in a property graph, even if the property is defined multiple times in different elements and labels.)","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgptypmod","type":"integer","description":"typmod to be applied to the data type of this property. (This is required to be fixed for a given property in a property graph, even if the property is defined multiple times in different elements and labels.)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pgpcollation","type":"oid","description":"The defined collation of this property, or zero if the property is not of a collatable data type. (This is required to be fixed for a given property in a property graph, even if the property is defined multiple times in different elements and labels.)","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_publication","kind":"catalog","summary":"publications for logical replication","first_version":"10","last_version":"19","versions":{"10":{"description":"The catalog pg_publication contains all publications created in the database. For more on publications see Section 31.1.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubname","type":"name","description":"Name of the publication","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubowner","type":"oid","description":"Owner of the publication","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"puballtables","type":"boolean","description":"If true, this publication automatically includes all tables in the database, including any that will be created in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubinsert","type":"boolean","description":"If true, INSERT operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubupdate","type":"boolean","description":"If true, UPDATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubdelete","type":"boolean","description":"If true, DELETE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-publication.html","source_path":"sources/postgresql/10/catalog-pg-publication.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_publication.h","definition_source_path":"sources/postgresql/10/source/pg_publication.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":6104,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_publication contains all publications created in the database. For more on publications see Section 31.1.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubname","type":"name","description":"Name of the publication","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubowner","type":"oid","description":"Owner of the publication","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"puballtables","type":"boolean","description":"If true, this publication automatically includes all tables in the database, including any that will be created in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubinsert","type":"boolean","description":"If true, INSERT operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubupdate","type":"boolean","description":"If true, UPDATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubdelete","type":"boolean","description":"If true, DELETE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubtruncate","type":"boolean","description":"If true, TRUNCATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-publication.html","source_path":"sources/postgresql/11/catalog-pg-publication.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_publication.h","definition_source_path":"sources/postgresql/11/source/pg_publication.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":6104,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_publication contains all publications created in the database. For more on publications see Section 30.1.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubname","type":"name","description":"Name of the publication","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubowner","type":"oid","description":"Owner of the publication","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"puballtables","type":"boolean","description":"If true, this publication automatically includes all tables in the database, including any that will be created in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubinsert","type":"boolean","description":"If true, INSERT operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubupdate","type":"boolean","description":"If true, UPDATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubdelete","type":"boolean","description":"If true, DELETE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubtruncate","type":"boolean","description":"If true, TRUNCATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-publication.html","source_path":"sources/postgresql/12/catalog-pg-publication.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_publication.h","definition_source_path":"sources/postgresql/12/source/pg_publication.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":6104,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_publication contains all publications created in the database. For more on publications see Section 30.1.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubname","type":"name","description":"Name of the publication","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubowner","type":"oid","description":"Owner of the publication","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"puballtables","type":"boolean","description":"If true, this publication automatically includes all tables in the database, including any that will be created in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubinsert","type":"boolean","description":"If true, INSERT operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubupdate","type":"boolean","description":"If true, UPDATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubdelete","type":"boolean","description":"If true, DELETE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubtruncate","type":"boolean","description":"If true, TRUNCATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubviaroot","type":"boolean","description":"If true, operations on a leaf partition are replicated using the identity and schema of its topmost partitioned ancestor mentioned in the publication instead of its own.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-publication.html","source_path":"sources/postgresql/13/catalog-pg-publication.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_publication.h","definition_source_path":"sources/postgresql/13/source/pg_publication.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":6104,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_publication contains all publications created in the database. For more on publications see Section 31.1.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubname","type":"name","description":"Name of the publication","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubowner","type":"oid","description":"Owner of the publication","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"puballtables","type":"boolean","description":"If true, this publication automatically includes all tables in the database, including any that will be created in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubinsert","type":"boolean","description":"If true, INSERT operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubupdate","type":"boolean","description":"If true, UPDATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubdelete","type":"boolean","description":"If true, DELETE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubtruncate","type":"boolean","description":"If true, TRUNCATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubviaroot","type":"boolean","description":"If true, operations on a leaf partition are replicated using the identity and schema of its topmost partitioned ancestor mentioned in the publication instead of its own.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-publication.html","source_path":"sources/postgresql/14/catalog-pg-publication.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_publication.h","definition_source_path":"sources/postgresql/14/source/pg_publication.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":6104,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_publication contains all publications created in the database. For more on publications see Section 31.1.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubname","type":"name","description":"Name of the publication","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubowner","type":"oid","description":"Owner of the publication","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"puballtables","type":"boolean","description":"If true, this publication automatically includes all tables in the database, including any that will be created in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubinsert","type":"boolean","description":"If true, INSERT operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubupdate","type":"boolean","description":"If true, UPDATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubdelete","type":"boolean","description":"If true, DELETE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubtruncate","type":"boolean","description":"If true, TRUNCATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubviaroot","type":"boolean","description":"If true, operations on a leaf partition are replicated using the identity and schema of its topmost partitioned ancestor mentioned in the publication instead of its own.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-publication.html","source_path":"sources/postgresql/15/catalog-pg-publication.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_publication.h","definition_source_path":"sources/postgresql/15/source/pg_publication.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":6104,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_publication contains all publications created in the database. For more on publications see Section 31.1.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubname","type":"name","description":"Name of the publication","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubowner","type":"oid","description":"Owner of the publication","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"puballtables","type":"boolean","description":"If true, this publication automatically includes all tables in the database, including any that will be created in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubinsert","type":"boolean","description":"If true, INSERT operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubupdate","type":"boolean","description":"If true, UPDATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubdelete","type":"boolean","description":"If true, DELETE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubtruncate","type":"boolean","description":"If true, TRUNCATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubviaroot","type":"boolean","description":"If true, operations on a leaf partition are replicated using the identity and schema of its topmost partitioned ancestor mentioned in the publication instead of its own.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-publication.html","source_path":"sources/postgresql/16/catalog-pg-publication.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_publication.h","definition_source_path":"sources/postgresql/16/source/pg_publication.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":6104,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_publication contains all publications created in the database. For more on publications see Section 29.1.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubname","type":"name","description":"Name of the publication","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubowner","type":"oid","description":"Owner of the publication","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"puballtables","type":"boolean","description":"If true, this publication automatically includes all tables in the database, including any that will be created in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubinsert","type":"boolean","description":"If true, INSERT operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubupdate","type":"boolean","description":"If true, UPDATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubdelete","type":"boolean","description":"If true, DELETE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubtruncate","type":"boolean","description":"If true, TRUNCATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubviaroot","type":"boolean","description":"If true, operations on a leaf partition are replicated using the identity and schema of its topmost partitioned ancestor mentioned in the publication instead of its own.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-publication.html","source_path":"sources/postgresql/17/catalog-pg-publication.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_publication.h","definition_source_path":"sources/postgresql/17/source/pg_publication.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":6104,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_publication contains all publications created in the database. For more on publications see Section 29.1.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubname","type":"name","description":"Name of the publication","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubowner","type":"oid","description":"Owner of the publication","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"puballtables","type":"boolean","description":"If true, this publication automatically includes all tables in the database, including any that will be created in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubinsert","type":"boolean","description":"If true, INSERT operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubupdate","type":"boolean","description":"If true, UPDATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubdelete","type":"boolean","description":"If true, DELETE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubtruncate","type":"boolean","description":"If true, TRUNCATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubviaroot","type":"boolean","description":"If true, operations on a leaf partition are replicated using the identity and schema of its topmost partitioned ancestor mentioned in the publication instead of its own.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubgencols","type":"\"char\"","description":"Controls how to handle generated column replication when there is no publication column list: n = generated columns in the tables associated with the publication should not be replicated, s = stored generated columns in the tables associated with the publication should be replicated.","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-publication.html","source_path":"sources/postgresql/18/catalog-pg-publication.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_publication.h","definition_source_path":"sources/postgresql/18/source/pg_publication.h","source_column_count":10,"documentary_schema_source":"documentation","relation_oid":6104,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_publication contains all publications created in the database. For more on publications see Section 29.1.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubname","type":"name","description":"Name of the publication","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubowner","type":"oid","description":"Owner of the publication","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"puballtables","type":"boolean","description":"If true, this publication automatically includes all tables in the database, including any that will be created in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"puballsequences","type":"boolean","description":"If true, this publication automatically includes all sequences in the database, including any that will be created in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubinsert","type":"boolean","description":"If true, INSERT operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubupdate","type":"boolean","description":"If true, UPDATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubdelete","type":"boolean","description":"If true, DELETE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubtruncate","type":"boolean","description":"If true, TRUNCATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubviaroot","type":"boolean","description":"If true, operations on a leaf partition are replicated using the identity and schema of its topmost partitioned ancestor mentioned in the publication instead of its own.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubgencols","type":"\"char\"","description":"Controls how to handle generated column replication when there is no publication column list: n = generated columns in the tables associated with the publication should not be replicated, s = stored generated columns in the tables associated with the publication should be replicated.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-publication.html","source_path":"sources/postgresql/19/catalog-pg-publication.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_publication.h","definition_source_path":"sources/postgresql/19/source/pg_publication.h","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":6104,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.6","to":"10","status":"added","added_columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubname","type":"name","description":"Name of the publication","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubowner","type":"oid","description":"Owner of the publication","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"puballtables","type":"boolean","description":"If true, this publication automatically includes all tables in the database, including any that will be created in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubinsert","type":"boolean","description":"If true, INSERT operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubupdate","type":"boolean","description":"If true, UPDATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pubdelete","type":"boolean","description":"If true, DELETE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"10","to":"11","status":"changed","added_columns":[{"name":"pubtruncate","type":"boolean","description":"If true, TRUNCATE operations are replicated for tables in the publication.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"12","to":"13","status":"changed","added_columns":[{"name":"pubviaroot","type":"boolean","description":"If true, operations on a leaf partition are replicated using the identity and schema of its topmost partitioned ancestor mentioned in the publication instead of its own.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"17","to":"18","status":"changed","added_columns":[{"name":"pubgencols","type":"\"char\"","description":"Controls how to handle generated column replication when there is no publication column list: n = generated columns in the tables associated with the publication should not be replicated, s = stored generated columns in the tables associated with the publication should be replicated.","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"puballsequences","type":"boolean","description":"If true, this publication automatically includes all sequences in the database, including any that will be created in the future.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_publication_namespace","kind":"catalog","summary":"schema to publication mapping","first_version":"15","last_version":"19","versions":{"15":{"description":"The catalog pg_publication_namespace contains the mapping between schemas and publications in the database. This is a many-to-many mapping.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pnpubid","type":"oid","description":"Reference to publication","references":"pg_publication.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pnnspid","type":"oid","description":"Reference to schema","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-publication-namespace.html","source_path":"sources/postgresql/15/catalog-pg-publication-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_publication_namespace.h","definition_source_path":"sources/postgresql/15/source/pg_publication_namespace.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":6237,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_publication_namespace contains the mapping between schemas and publications in the database. This is a many-to-many mapping.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pnpubid","type":"oid","description":"Reference to publication","references":"pg_publication.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pnnspid","type":"oid","description":"Reference to schema","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-publication-namespace.html","source_path":"sources/postgresql/16/catalog-pg-publication-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_publication_namespace.h","definition_source_path":"sources/postgresql/16/source/pg_publication_namespace.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":6237,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_publication_namespace contains the mapping between schemas and publications in the database. This is a many-to-many mapping.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pnpubid","type":"oid","description":"Reference to publication","references":"pg_publication.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pnnspid","type":"oid","description":"Reference to schema","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-publication-namespace.html","source_path":"sources/postgresql/17/catalog-pg-publication-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_publication_namespace.h","definition_source_path":"sources/postgresql/17/source/pg_publication_namespace.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":6237,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_publication_namespace contains the mapping between schemas and publications in the database. This is a many-to-many mapping.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pnpubid","type":"oid","description":"Reference to publication","references":"pg_publication.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pnnspid","type":"oid","description":"Reference to schema","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-publication-namespace.html","source_path":"sources/postgresql/18/catalog-pg-publication-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_publication_namespace.h","definition_source_path":"sources/postgresql/18/source/pg_publication_namespace.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":6237,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_publication_namespace contains the mapping between schemas and publications in the database. This is a many-to-many mapping.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pnpubid","type":"oid","description":"Reference to publication","references":"pg_publication.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pnnspid","type":"oid","description":"Reference to schema","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-publication-namespace.html","source_path":"sources/postgresql/19/catalog-pg-publication-namespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_publication_namespace.h","definition_source_path":"sources/postgresql/19/source/pg_publication_namespace.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":6237,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"14","to":"15","status":"added","added_columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pnpubid","type":"oid","description":"Reference to publication","references":"pg_publication.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"pnnspid","type":"oid","description":"Reference to schema","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_publication_rel","kind":"catalog","summary":"relation to publication mapping","first_version":"10","last_version":"19","versions":{"10":{"description":"The catalog pg_publication_rel contains the mapping between relations and publications in the database. This is a many-to-many mapping. See also Section 51.78 for a more user-friendly view of this information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_publication_rel.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prpubid","type":"oid","description":"Reference to publication","references":"pg_publication.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prrelid","type":"oid","description":"Reference to relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-publication-rel.html","source_path":"sources/postgresql/10/catalog-pg-publication-rel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_publication_rel.h","definition_source_path":"sources/postgresql/10/source/pg_publication_rel.h","source_column_count":3,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":6106,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_publication_rel contains the mapping between relations and publications in the database. This is a many-to-many mapping. See also Section 52.78 for a more user-friendly view of this information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_publication_rel.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prpubid","type":"oid","description":"Reference to publication","references":"pg_publication.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prrelid","type":"oid","description":"Reference to relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-publication-rel.html","source_path":"sources/postgresql/11/catalog-pg-publication-rel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_publication_rel.h","definition_source_path":"sources/postgresql/11/source/pg_publication_rel.h","source_column_count":3,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":6106,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_publication_rel contains the mapping between relations and publications in the database. This is a many-to-many mapping. See also Section 51.79 for a more user-friendly view of this information.","columns":[{"name":"oid","type":"oid","description":"Row identifier.","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_publication_rel.h","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prpubid","type":"oid","description":"Reference to publication","references":"pg_publication.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prrelid","type":"oid","description":"Reference to relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-publication-rel.html","source_path":"sources/postgresql/12/catalog-pg-publication-rel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_publication_rel.h","definition_source_path":"sources/postgresql/12/source/pg_publication_rel.h","source_column_count":3,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":6106,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_publication_rel contains the mapping between relations and publications in the database. This is a many-to-many mapping. See also Section 51.78 for a more user-friendly view of this information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prpubid","type":"oid","description":"Reference to publication","references":"pg_publication.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prrelid","type":"oid","description":"Reference to relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-publication-rel.html","source_path":"sources/postgresql/13/catalog-pg-publication-rel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_publication_rel.h","definition_source_path":"sources/postgresql/13/source/pg_publication_rel.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":6106,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_publication_rel contains the mapping between relations and publications in the database. This is a many-to-many mapping. See also Section 52.79 for a more user-friendly view of this information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prpubid","type":"oid","description":"Reference to publication","references":"pg_publication.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prrelid","type":"oid","description":"Reference to relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-publication-rel.html","source_path":"sources/postgresql/14/catalog-pg-publication-rel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_publication_rel.h","definition_source_path":"sources/postgresql/14/source/pg_publication_rel.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":6106,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_publication_rel contains the mapping between relations and publications in the database. This is a many-to-many mapping. See also Section 54.17 for a more user-friendly view of this information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prpubid","type":"oid","description":"Reference to publication","references":"pg_publication.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prrelid","type":"oid","description":"Reference to relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the relation's publication qualifying condition. Null if there is no publication qualifying condition.","hidden":false,"type_oid":194,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prattrs","type":"int2vector","description":"This is an array of values that indicates which table columns are part of the publication. For example, a value of 1 3 would mean that the first and the third table columns are published. A null value indicates that all columns are published.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-publication-rel.html","source_path":"sources/postgresql/15/catalog-pg-publication-rel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_publication_rel.h","definition_source_path":"sources/postgresql/15/source/pg_publication_rel.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":6106,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_publication_rel contains the mapping between relations and publications in the database. This is a many-to-many mapping. See also Section 54.17 for a more user-friendly view of this information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prpubid","type":"oid","description":"Reference to publication","references":"pg_publication.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prrelid","type":"oid","description":"Reference to relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the relation's publication qualifying condition. Null if there is no publication qualifying condition.","hidden":false,"type_oid":194,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prattrs","type":"int2vector","description":"This is an array of values that indicates which table columns are part of the publication. For example, a value of 1 3 would mean that the first and the third table columns are published. A null value indicates that all columns are published.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-publication-rel.html","source_path":"sources/postgresql/16/catalog-pg-publication-rel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_publication_rel.h","definition_source_path":"sources/postgresql/16/source/pg_publication_rel.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":6106,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_publication_rel contains the mapping between relations and publications in the database. This is a many-to-many mapping. See also Section 52.17 for a more user-friendly view of this information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prpubid","type":"oid","description":"Reference to publication","references":"pg_publication.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prrelid","type":"oid","description":"Reference to relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the relation's publication qualifying condition. Null if there is no publication qualifying condition.","hidden":false,"type_oid":194,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prattrs","type":"int2vector","description":"This is an array of values that indicates which table columns are part of the publication. For example, a value of 1 3 would mean that the first and the third table columns are published. A null value indicates that all columns are published.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-publication-rel.html","source_path":"sources/postgresql/17/catalog-pg-publication-rel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_publication_rel.h","definition_source_path":"sources/postgresql/17/source/pg_publication_rel.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":6106,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_publication_rel contains the mapping between relations and publications in the database. This is a many-to-many mapping. See also Section 53.18 for a more user-friendly view of this information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prpubid","type":"oid","description":"Reference to publication","references":"pg_publication.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prrelid","type":"oid","description":"Reference to relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the relation's publication qualifying condition. Null if there is no publication qualifying condition.","hidden":false,"type_oid":194,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prattrs","type":"int2vector","description":"This is an array of values that indicates which table columns are part of the publication. For example, a value of 1 3 would mean that the first and the third table columns are published. A null value indicates that all columns are published.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-publication-rel.html","source_path":"sources/postgresql/18/catalog-pg-publication-rel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_publication_rel.h","definition_source_path":"sources/postgresql/18/source/pg_publication_rel.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":6106,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_publication_rel contains the mapping between relations and publications in the database. This is a many-to-many mapping. See also Section 53.20 for a more user-friendly view of this information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prpubid","type":"oid","description":"Reference to publication","references":"pg_publication.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prrelid","type":"oid","description":"Reference to table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prexcept","type":"boolean","description":"True if the table is excluded from the publication. See EXCEPT.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the relation's publication qualifying condition. Null if there is no publication qualifying condition.","hidden":false,"type_oid":194,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prattrs","type":"int2vector","description":"This is an array of values that indicates which table columns are part of the publication. For example, a value of 1 3 would mean that the first and the third table columns are published. A null value indicates that all columns are published.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-publication-rel.html","source_path":"sources/postgresql/19/catalog-pg-publication-rel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_publication_rel.h","definition_source_path":"sources/postgresql/19/source/pg_publication_rel.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":6106,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.6","to":"10","status":"added","added_columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_publication_rel.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prpubid","type":"oid","description":"Reference to publication","references":"pg_publication.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prrelid","type":"oid","description":"Reference to relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"10","to":"11","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier."}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier.","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[{"name":"prqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the relation's publication qualifying condition. Null if there is no publication qualifying condition.","hidden":false,"type_oid":194,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prattrs","type":"int2vector","description":"This is an array of values that indicates which table columns are part of the publication. For example, a value of 1 3 would mean that the first and the third table columns are published. A null value indicates that all columns are published.","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"17","to":"18","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"prexcept","type":"boolean","description":"True if the table is excluded from the publication. See EXCEPT.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"prrelid","from":"Reference to relation","to":"Reference to table"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true}]},{"name":"pg_publication_sequences","kind":"view","summary":"The view pg_publication_sequences provides information about the mapping between publications and sequences.","first_version":"19","last_version":"19","versions":{"19":{"description":"The view pg_publication_sequences provides information about the mapping between publications and sequences.","columns":[{"name":"pubname","type":"name","description":"Name of publication","references":"pg_publication.pubname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of schema containing sequence","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequencename","type":"name","description":"Name of sequence","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-publication-sequences.html","source_path":"sources/postgresql/19/view-pg-publication-sequences.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12073,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"18","to":"19","status":"added","added_columns":[{"name":"pubname","type":"name","description":"Name of publication","references":"pg_publication.pubname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of schema containing sequence","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequencename","type":"name","description":"Name of sequence","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_publication_tables","kind":"view","summary":"The view pg_publication_tables provides information about the mapping between publications and information of tables they contain. Unlike the underlying catalog pg_publication_rel, this view expands publications defined as FOR ALL TABLES and FOR TABLES IN SCHEMA, so for such publications there will be a row for each eligible table.","first_version":"10","last_version":"19","versions":{"10":{"description":"The view pg_publication_tables provides information about the mapping between publications and the tables they contain. Unlike the underlying catalog pg_publication_rel, this view expands publications defined as FOR ALL TABLES, so for such publications there will be a row for each eligible table.","columns":[{"name":"pubname","type":"name","description":"Name of publication","references":"pg_publication.pubname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-publication-tables.html","source_path":"sources/postgresql/10/view-pg-publication-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11573,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_publication_tables provides information about the mapping between publications and the tables they contain. Unlike the underlying catalog pg_publication_rel, this view expands publications defined as FOR ALL TABLES, so for such publications there will be a row for each eligible table.","columns":[{"name":"pubname","type":"name","description":"Name of publication","references":"pg_publication.pubname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-publication-tables.html","source_path":"sources/postgresql/11/view-pg-publication-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11641,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_publication_tables provides information about the mapping between publications and the tables they contain. Unlike the underlying catalog pg_publication_rel, this view expands publications defined as FOR ALL TABLES, so for such publications there will be a row for each eligible table.","columns":[{"name":"pubname","type":"name","description":"Name of publication","references":"pg_publication.pubname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-publication-tables.html","source_path":"sources/postgresql/12/view-pg-publication-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12139,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_publication_tables provides information about the mapping between publications and the tables they contain. Unlike the underlying catalog pg_publication_rel, this view expands publications defined as FOR ALL TABLES, so for such publications there will be a row for each eligible table.","columns":[{"name":"pubname","type":"name","description":"Name of publication","references":"pg_publication.pubname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-publication-tables.html","source_path":"sources/postgresql/13/view-pg-publication-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12137,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_publication_tables provides information about the mapping between publications and the tables they contain. Unlike the underlying catalog pg_publication_rel, this view expands publications defined as FOR ALL TABLES, so for such publications there will be a row for each eligible table.","columns":[{"name":"pubname","type":"name","description":"Name of publication","references":"pg_publication.pubname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-publication-tables.html","source_path":"sources/postgresql/14/view-pg-publication-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12285,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_publication_tables provides information about the mapping between publications and information of tables they contain. Unlike the underlying catalog pg_publication_rel, this view expands publications defined as FOR ALL TABLES and FOR TABLES IN SCHEMA, so for such publications there will be a row for each eligible table.","columns":[{"name":"pubname","type":"name","description":"Name of publication","references":"pg_publication.pubname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attnames","type":"name[]","description":"Names of table columns included in the publication. This contains all the columns of the table when the user didn't specify the column list for the table.","references":"pg_attribute.attname","hidden":false,"type_oid":1003,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rowfilter","type":"text","description":"Expression for the table's publication qualifying condition","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-publication-tables.html","source_path":"sources/postgresql/15/view-pg-publication-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12068,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_publication_tables provides information about the mapping between publications and information of tables they contain. Unlike the underlying catalog pg_publication_rel, this view expands publications defined as FOR ALL TABLES and FOR TABLES IN SCHEMA, so for such publications there will be a row for each eligible table.","columns":[{"name":"pubname","type":"name","description":"Name of publication","references":"pg_publication.pubname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attnames","type":"name[]","description":"Names of table columns included in the publication. This contains all the columns of the table when the user didn't specify the column list for the table.","references":"pg_attribute.attname","hidden":false,"type_oid":1003,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rowfilter","type":"text","description":"Expression for the table's publication qualifying condition","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-publication-tables.html","source_path":"sources/postgresql/16/view-pg-publication-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12068,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_publication_tables provides information about the mapping between publications and information of tables they contain. Unlike the underlying catalog pg_publication_rel, this view expands publications defined as FOR ALL TABLES and FOR TABLES IN SCHEMA, so for such publications there will be a row for each eligible table.","columns":[{"name":"pubname","type":"name","description":"Name of publication","references":"pg_publication.pubname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attnames","type":"name[]","description":"Names of table columns included in the publication. This contains all the columns of the table when the user didn't specify the column list for the table.","references":"pg_attribute.attname","hidden":false,"type_oid":1003,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rowfilter","type":"text","description":"Expression for the table's publication qualifying condition","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-publication-tables.html","source_path":"sources/postgresql/17/view-pg-publication-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12068,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_publication_tables provides information about the mapping between publications and information of tables they contain. Unlike the underlying catalog pg_publication_rel, this view expands publications defined as FOR ALL TABLES and FOR TABLES IN SCHEMA, so for such publications there will be a row for each eligible table.","columns":[{"name":"pubname","type":"name","description":"Name of publication","references":"pg_publication.pubname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attnames","type":"name[]","description":"Names of table columns included in the publication. This contains all the columns of the table when the user didn't specify the column list for the table.","references":"pg_attribute.attname","hidden":false,"type_oid":1003,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rowfilter","type":"text","description":"Expression for the table's publication qualifying condition","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-publication-tables.html","source_path":"sources/postgresql/18/view-pg-publication-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12068,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_publication_tables provides information about the mapping between publications and information of tables they contain. Unlike the underlying catalog pg_publication_rel, this view expands publications defined as FOR ALL TABLES and FOR TABLES IN SCHEMA, so for such publications there will be a row for each eligible table.","columns":[{"name":"pubname","type":"name","description":"Name of publication","references":"pg_publication.pubname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attnames","type":"name[]","description":"Names of table columns included in the publication. This contains all the columns of the table when the user didn't specify the column list for the table.","references":"pg_attribute.attname","hidden":false,"type_oid":1003,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rowfilter","type":"text","description":"Expression for the table's publication qualifying condition","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-publication-tables.html","source_path":"sources/postgresql/19/view-pg-publication-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12068,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.6","to":"10","status":"added","added_columns":[{"name":"pubname","type":"name","description":"Name of publication","references":"pg_publication.pubname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"14","to":"15","status":"changed","added_columns":[{"name":"attnames","type":"name[]","description":"Names of table columns included in the publication. This contains all the columns of the table when the user didn't specify the column list for the table.","references":"pg_attribute.attname","hidden":false,"type_oid":1003,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rowfilter","type":"text","description":"Expression for the table's publication qualifying condition","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true}]},{"name":"pg_range","kind":"catalog","summary":"information about range types","first_version":"9.2","last_version":"19","versions":{"9.2":{"description":"The catalog pg_range stores information about range types. This is in addition to the types' entries in pg_type.","columns":[{"name":"rngtypid","type":"oid","description":"OID of the range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubtype","type":"oid","description":"OID of the element type (subtype) of this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcollation","type":"oid","description":"OID of the collation used for range comparisons, or 0 if none","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubopc","type":"oid","description":"OID of the subtype's operator class used for range comparisons","references":"pg_opclass.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcanonical","type":"regproc","description":"OID of the function to convert a range value into canonical form, or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubdiff","type":"regproc","description":"OID of the function to return the difference between two element values as double precision, or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-range.html","source_path":"sources/postgresql/9.2/catalog-pg-range.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_range.h","definition_source_path":"sources/postgresql/9.2/source/pg_range.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3541,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_range stores information about range types. This is in addition to the types' entries in pg_type.","columns":[{"name":"rngtypid","type":"oid","description":"OID of the range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubtype","type":"oid","description":"OID of the element type (subtype) of this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcollation","type":"oid","description":"OID of the collation used for range comparisons, or 0 if none","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubopc","type":"oid","description":"OID of the subtype's operator class used for range comparisons","references":"pg_opclass.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcanonical","type":"regproc","description":"OID of the function to convert a range value into canonical form, or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubdiff","type":"regproc","description":"OID of the function to return the difference between two element values as double precision, or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-range.html","source_path":"sources/postgresql/9.3/catalog-pg-range.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_range.h","definition_source_path":"sources/postgresql/9.3/source/pg_range.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3541,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_range stores information about range types. This is in addition to the types' entries in pg_type.","columns":[{"name":"rngtypid","type":"oid","description":"OID of the range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubtype","type":"oid","description":"OID of the element type (subtype) of this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcollation","type":"oid","description":"OID of the collation used for range comparisons, or 0 if none","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubopc","type":"oid","description":"OID of the subtype's operator class used for range comparisons","references":"pg_opclass.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcanonical","type":"regproc","description":"OID of the function to convert a range value into canonical form, or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubdiff","type":"regproc","description":"OID of the function to return the difference between two element values as double precision, or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-range.html","source_path":"sources/postgresql/9.4/catalog-pg-range.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_range.h","definition_source_path":"sources/postgresql/9.4/source/pg_range.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3541,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_range stores information about range types. This is in addition to the types' entries in pg_type.","columns":[{"name":"rngtypid","type":"oid","description":"OID of the range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubtype","type":"oid","description":"OID of the element type (subtype) of this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcollation","type":"oid","description":"OID of the collation used for range comparisons, or 0 if none","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubopc","type":"oid","description":"OID of the subtype's operator class used for range comparisons","references":"pg_opclass.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcanonical","type":"regproc","description":"OID of the function to convert a range value into canonical form, or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubdiff","type":"regproc","description":"OID of the function to return the difference between two element values as double precision, or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-range.html","source_path":"sources/postgresql/9.5/catalog-pg-range.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_range.h","definition_source_path":"sources/postgresql/9.5/source/pg_range.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3541,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_range stores information about range types. This is in addition to the types' entries in pg_type.","columns":[{"name":"rngtypid","type":"oid","description":"OID of the range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubtype","type":"oid","description":"OID of the element type (subtype) of this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcollation","type":"oid","description":"OID of the collation used for range comparisons, or 0 if none","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubopc","type":"oid","description":"OID of the subtype's operator class used for range comparisons","references":"pg_opclass.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcanonical","type":"regproc","description":"OID of the function to convert a range value into canonical form, or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubdiff","type":"regproc","description":"OID of the function to return the difference between two element values as double precision, or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-range.html","source_path":"sources/postgresql/9.6/catalog-pg-range.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_range.h","definition_source_path":"sources/postgresql/9.6/source/pg_range.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3541,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_range stores information about range types. This is in addition to the types' entries in pg_type.","columns":[{"name":"rngtypid","type":"oid","description":"OID of the range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubtype","type":"oid","description":"OID of the element type (subtype) of this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcollation","type":"oid","description":"OID of the collation used for range comparisons, or 0 if none","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubopc","type":"oid","description":"OID of the subtype's operator class used for range comparisons","references":"pg_opclass.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcanonical","type":"regproc","description":"OID of the function to convert a range value into canonical form, or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubdiff","type":"regproc","description":"OID of the function to return the difference between two element values as double precision, or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-range.html","source_path":"sources/postgresql/10/catalog-pg-range.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_range.h","definition_source_path":"sources/postgresql/10/source/pg_range.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3541,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_range stores information about range types. This is in addition to the types' entries in pg_type.","columns":[{"name":"rngtypid","type":"oid","description":"OID of the range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubtype","type":"oid","description":"OID of the element type (subtype) of this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcollation","type":"oid","description":"OID of the collation used for range comparisons, or 0 if none","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubopc","type":"oid","description":"OID of the subtype's operator class used for range comparisons","references":"pg_opclass.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcanonical","type":"regproc","description":"OID of the function to convert a range value into canonical form, or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubdiff","type":"regproc","description":"OID of the function to return the difference between two element values as double precision, or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-range.html","source_path":"sources/postgresql/11/catalog-pg-range.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_range.h","definition_source_path":"sources/postgresql/11/source/pg_range.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3541,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_range stores information about range types. This is in addition to the types' entries in pg_type.","columns":[{"name":"rngtypid","type":"oid","description":"OID of the range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubtype","type":"oid","description":"OID of the element type (subtype) of this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcollation","type":"oid","description":"OID of the collation used for range comparisons, or 0 if none","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubopc","type":"oid","description":"OID of the subtype's operator class used for range comparisons","references":"pg_opclass.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcanonical","type":"regproc","description":"OID of the function to convert a range value into canonical form, or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubdiff","type":"regproc","description":"OID of the function to return the difference between two element values as double precision, or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-range.html","source_path":"sources/postgresql/12/catalog-pg-range.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_range.h","definition_source_path":"sources/postgresql/12/source/pg_range.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3541,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_range stores information about range types. This is in addition to the types' entries in pg_type.","columns":[{"name":"rngtypid","type":"oid","description":"OID of the range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubtype","type":"oid","description":"OID of the element type (subtype) of this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcollation","type":"oid","description":"OID of the collation used for range comparisons, or 0 if none","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubopc","type":"oid","description":"OID of the subtype's operator class used for range comparisons","references":"pg_opclass.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcanonical","type":"regproc","description":"OID of the function to convert a range value into canonical form, or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubdiff","type":"regproc","description":"OID of the function to return the difference between two element values as double precision, or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-range.html","source_path":"sources/postgresql/13/catalog-pg-range.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_range.h","definition_source_path":"sources/postgresql/13/source/pg_range.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3541,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_range stores information about range types. This is in addition to the types' entries in pg_type.","columns":[{"name":"rngtypid","type":"oid","description":"OID of the range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubtype","type":"oid","description":"OID of the element type (subtype) of this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngmultitypid","type":"oid","description":"OID of the multirange type for this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcollation","type":"oid","description":"OID of the collation used for range comparisons, or zero if none","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubopc","type":"oid","description":"OID of the subtype's operator class used for range comparisons","references":"pg_opclass.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcanonical","type":"regproc","description":"OID of the function to convert a range value into canonical form, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubdiff","type":"regproc","description":"OID of the function to return the difference between two element values as double precision, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-range.html","source_path":"sources/postgresql/14/catalog-pg-range.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_range.h","definition_source_path":"sources/postgresql/14/source/pg_range.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":3541,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_range stores information about range types. This is in addition to the types' entries in pg_type.","columns":[{"name":"rngtypid","type":"oid","description":"OID of the range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubtype","type":"oid","description":"OID of the element type (subtype) of this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngmultitypid","type":"oid","description":"OID of the multirange type for this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcollation","type":"oid","description":"OID of the collation used for range comparisons, or zero if none","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubopc","type":"oid","description":"OID of the subtype's operator class used for range comparisons","references":"pg_opclass.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcanonical","type":"regproc","description":"OID of the function to convert a range value into canonical form, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubdiff","type":"regproc","description":"OID of the function to return the difference between two element values as double precision, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-range.html","source_path":"sources/postgresql/15/catalog-pg-range.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_range.h","definition_source_path":"sources/postgresql/15/source/pg_range.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":3541,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_range stores information about range types. This is in addition to the types' entries in pg_type.","columns":[{"name":"rngtypid","type":"oid","description":"OID of the range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubtype","type":"oid","description":"OID of the element type (subtype) of this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngmultitypid","type":"oid","description":"OID of the multirange type for this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcollation","type":"oid","description":"OID of the collation used for range comparisons, or zero if none","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubopc","type":"oid","description":"OID of the subtype's operator class used for range comparisons","references":"pg_opclass.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcanonical","type":"regproc","description":"OID of the function to convert a range value into canonical form, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubdiff","type":"regproc","description":"OID of the function to return the difference between two element values as double precision, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-range.html","source_path":"sources/postgresql/16/catalog-pg-range.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_range.h","definition_source_path":"sources/postgresql/16/source/pg_range.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":3541,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_range stores information about range types. This is in addition to the types' entries in pg_type.","columns":[{"name":"rngtypid","type":"oid","description":"OID of the range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubtype","type":"oid","description":"OID of the element type (subtype) of this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngmultitypid","type":"oid","description":"OID of the multirange type for this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcollation","type":"oid","description":"OID of the collation used for range comparisons, or zero if none","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubopc","type":"oid","description":"OID of the subtype's operator class used for range comparisons","references":"pg_opclass.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcanonical","type":"regproc","description":"OID of the function to convert a range value into canonical form, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubdiff","type":"regproc","description":"OID of the function to return the difference between two element values as double precision, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-range.html","source_path":"sources/postgresql/17/catalog-pg-range.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_range.h","definition_source_path":"sources/postgresql/17/source/pg_range.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":3541,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_range stores information about range types. This is in addition to the types' entries in pg_type.","columns":[{"name":"rngtypid","type":"oid","description":"OID of the range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubtype","type":"oid","description":"OID of the element type (subtype) of this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngmultitypid","type":"oid","description":"OID of the multirange type for this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcollation","type":"oid","description":"OID of the collation used for range comparisons, or zero if none","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubopc","type":"oid","description":"OID of the subtype's operator class used for range comparisons","references":"pg_opclass.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcanonical","type":"regproc","description":"OID of the function to convert a range value into canonical form, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubdiff","type":"regproc","description":"OID of the function to return the difference between two element values as double precision, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-range.html","source_path":"sources/postgresql/18/catalog-pg-range.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_range.h","definition_source_path":"sources/postgresql/18/source/pg_range.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":3541,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_range stores information about range types. This is in addition to the types' entries in pg_type.","columns":[{"name":"rngtypid","type":"oid","description":"OID of the range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubtype","type":"oid","description":"OID of the element type (subtype) of this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngmultitypid","type":"oid","description":"OID of the multirange type for this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcollation","type":"oid","description":"OID of the collation used for range comparisons, or zero if none","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubopc","type":"oid","description":"OID of the subtype's operator class used for range comparisons","references":"pg_opclass.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngconstruct2","type":"regproc","description":"OID of the 2-argument range constructor function (lower and upper)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngconstruct3","type":"regproc","description":"OID of the 3-argument range constructor function (lower, upper, and flags)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngmltconstruct0","type":"regproc","description":"OID of the 0-argument multirange constructor function (constructs empty range)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngmltconstruct1","type":"regproc","description":"OID of the 1-argument multirange constructor function (constructs multirange from single range, also used as cast function)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngmltconstruct2","type":"regproc","description":"OID of the 2-argument multirange constructor function (constructs multirange from array of ranges)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcanonical","type":"regproc","description":"OID of the function to convert a range value into canonical form, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubdiff","type":"regproc","description":"OID of the function to return the difference between two element values as double precision, or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-range.html","source_path":"sources/postgresql/19/catalog-pg-range.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_range.h","definition_source_path":"sources/postgresql/19/source/pg_range.h","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":3541,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"added","added_columns":[{"name":"rngtypid","type":"oid","description":"OID of the range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubtype","type":"oid","description":"OID of the element type (subtype) of this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcollation","type":"oid","description":"OID of the collation used for range comparisons, or 0 if none","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubopc","type":"oid","description":"OID of the subtype's operator class used for range comparisons","references":"pg_opclass.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngcanonical","type":"regproc","description":"OID of the function to convert a range value into canonical form, or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngsubdiff","type":"regproc","description":"OID of the function to return the difference between two element values as double precision, or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[{"name":"rngmultitypid","type":"oid","description":"OID of the multirange type for this range type","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"rngcanonical","from":"OID of the function to convert a range value into canonical form, or 0 if none","to":"OID of the function to convert a range value into canonical form, or zero if none"},{"name":"rngcollation","from":"OID of the collation used for range comparisons, or 0 if none","to":"OID of the collation used for range comparisons, or zero if none"},{"name":"rngsubdiff","from":"OID of the function to return the difference between two element values as double precision, or 0 if none","to":"OID of the function to return the difference between two element values as double precision, or zero if none"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"rngconstruct2","type":"regproc","description":"OID of the 2-argument range constructor function (lower and upper)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngconstruct3","type":"regproc","description":"OID of the 3-argument range constructor function (lower, upper, and flags)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngmltconstruct0","type":"regproc","description":"OID of the 0-argument multirange constructor function (constructs empty range)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngmltconstruct1","type":"regproc","description":"OID of the 1-argument multirange constructor function (constructs multirange from single range, also used as cast function)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rngmltconstruct2","type":"regproc","description":"OID of the 2-argument multirange constructor function (constructs multirange from array of ranges)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_replication_origin","kind":"catalog","summary":"registered replication origins","first_version":"9.5","last_version":"19","versions":{"9.5":{"description":"The pg_replication_origin catalog contains all replication origins created. For more on replication origins see Chapter 47.","columns":[{"name":"roident","type":"oid","description":"A unique, cluster-wide identifier for the replication origin. Should never leave the system.","documented_type":"Oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"roname","type":"text","description":"The external, user defined, name of a replication origin.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-replication-origin.html","source_path":"sources/postgresql/9.5/catalog-pg-replication-origin.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_replication_origin.h","definition_source_path":"sources/postgresql/9.5/source/pg_replication_origin.h","source_column_count":2,"documentary_schema_source":"documentation","relation_oid":6000,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The pg_replication_origin catalog contains all replication origins created. For more on replication origins see Chapter 48.","columns":[{"name":"roident","type":"oid","description":"A unique, cluster-wide identifier for the replication origin. Should never leave the system.","documented_type":"Oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"roname","type":"text","description":"The external, user defined, name of a replication origin.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-replication-origin.html","source_path":"sources/postgresql/9.6/catalog-pg-replication-origin.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_replication_origin.h","definition_source_path":"sources/postgresql/9.6/source/pg_replication_origin.h","source_column_count":2,"documentary_schema_source":"documentation","relation_oid":6000,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The pg_replication_origin catalog contains all replication origins created. For more on replication origins see Chapter 49.","columns":[{"name":"roident","type":"oid","description":"A unique, cluster-wide identifier for the replication origin. Should never leave the system.","documented_type":"Oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"roname","type":"text","description":"The external, user defined, name of a replication origin.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-replication-origin.html","source_path":"sources/postgresql/10/catalog-pg-replication-origin.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_replication_origin.h","definition_source_path":"sources/postgresql/10/source/pg_replication_origin.h","source_column_count":2,"documentary_schema_source":"documentation","relation_oid":6000,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The pg_replication_origin catalog contains all replication origins created. For more on replication origins see Chapter 50.\n\nUnlike most system catalogs, pg_replication_origin is shared across all databases of a cluster: there is only one copy of pg_replication_origin per cluster, not one per database.","columns":[{"name":"roident","type":"oid","description":"A unique, cluster-wide identifier for the replication origin. Should never leave the system.","documented_type":"Oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"roname","type":"text","description":"The external, user defined, name of a replication origin.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-replication-origin.html","source_path":"sources/postgresql/11/catalog-pg-replication-origin.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_replication_origin.h","definition_source_path":"sources/postgresql/11/source/pg_replication_origin.h","source_column_count":2,"documentary_schema_source":"documentation","relation_oid":6000,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The pg_replication_origin catalog contains all replication origins created. For more on replication origins see Chapter 49.\n\nUnlike most system catalogs, pg_replication_origin is shared across all databases of a cluster: there is only one copy of pg_replication_origin per cluster, not one per database.","columns":[{"name":"roident","type":"oid","description":"A unique, cluster-wide identifier for the replication origin. Should never leave the system.","documented_type":"Oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"roname","type":"text","description":"The external, user defined, name of a replication origin.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-replication-origin.html","source_path":"sources/postgresql/12/catalog-pg-replication-origin.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_replication_origin.h","definition_source_path":"sources/postgresql/12/source/pg_replication_origin.h","source_column_count":2,"documentary_schema_source":"documentation","relation_oid":6000,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_replication_origin catalog contains all replication origins created. For more on replication origins see Chapter 49.\n\nUnlike most system catalogs, pg_replication_origin is shared across all databases of a cluster: there is only one copy of pg_replication_origin per cluster, not one per database.","columns":[{"name":"roident","type":"oid","description":"A unique, cluster-wide identifier for the replication origin. Should never leave the system.","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"roname","type":"text","description":"The external, user defined, name of a replication origin.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-replication-origin.html","source_path":"sources/postgresql/13/catalog-pg-replication-origin.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_replication_origin.h","definition_source_path":"sources/postgresql/13/source/pg_replication_origin.h","source_column_count":2,"documentary_schema_source":"documentation","relation_oid":6000,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_replication_origin catalog contains all replication origins created. For more on replication origins see Chapter 50.\n\nUnlike most system catalogs, pg_replication_origin is shared across all databases of a cluster: there is only one copy of pg_replication_origin per cluster, not one per database.","columns":[{"name":"roident","type":"oid","description":"A unique, cluster-wide identifier for the replication origin. Should never leave the system.","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"roname","type":"text","description":"The external, user defined, name of a replication origin.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-replication-origin.html","source_path":"sources/postgresql/14/catalog-pg-replication-origin.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_replication_origin.h","definition_source_path":"sources/postgresql/14/source/pg_replication_origin.h","source_column_count":2,"documentary_schema_source":"documentation","relation_oid":6000,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_replication_origin catalog contains all replication origins created. For more on replication origins see Chapter 50.\n\nUnlike most system catalogs, pg_replication_origin is shared across all databases of a cluster: there is only one copy of pg_replication_origin per cluster, not one per database.","columns":[{"name":"roident","type":"oid","description":"A unique, cluster-wide identifier for the replication origin. Should never leave the system.","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"roname","type":"text","description":"The external, user defined, name of a replication origin.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-replication-origin.html","source_path":"sources/postgresql/15/catalog-pg-replication-origin.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_replication_origin.h","definition_source_path":"sources/postgresql/15/source/pg_replication_origin.h","source_column_count":2,"documentary_schema_source":"documentation","relation_oid":6000,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_replication_origin catalog contains all replication origins created. For more on replication origins see Chapter 50.\n\nUnlike most system catalogs, pg_replication_origin is shared across all databases of a cluster: there is only one copy of pg_replication_origin per cluster, not one per database.","columns":[{"name":"roident","type":"oid","description":"A unique, cluster-wide identifier for the replication origin. Should never leave the system.","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"roname","type":"text","description":"The external, user defined, name of a replication origin.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-replication-origin.html","source_path":"sources/postgresql/16/catalog-pg-replication-origin.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_replication_origin.h","definition_source_path":"sources/postgresql/16/source/pg_replication_origin.h","source_column_count":2,"documentary_schema_source":"documentation","relation_oid":6000,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_replication_origin catalog contains all replication origins created. For more on replication origins see Chapter 48.\n\nUnlike most system catalogs, pg_replication_origin is shared across all databases of a cluster: there is only one copy of pg_replication_origin per cluster, not one per database.","columns":[{"name":"roident","type":"oid","description":"A unique, cluster-wide identifier for the replication origin. Should never leave the system.","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"roname","type":"text","description":"The external, user defined, name of a replication origin.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-replication-origin.html","source_path":"sources/postgresql/17/catalog-pg-replication-origin.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_replication_origin.h","definition_source_path":"sources/postgresql/17/source/pg_replication_origin.h","source_column_count":2,"documentary_schema_source":"documentation","relation_oid":6000,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_replication_origin catalog contains all replication origins created. For more on replication origins see Chapter 48.\n\nUnlike most system catalogs, pg_replication_origin is shared across all databases of a cluster: there is only one copy of pg_replication_origin per cluster, not one per database.","columns":[{"name":"roident","type":"oid","description":"A unique, cluster-wide identifier for the replication origin. Should never leave the system.","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"roname","type":"text","description":"The external, user defined, name of a replication origin.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-replication-origin.html","source_path":"sources/postgresql/18/catalog-pg-replication-origin.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_replication_origin.h","definition_source_path":"sources/postgresql/18/source/pg_replication_origin.h","source_column_count":2,"documentary_schema_source":"documentation","relation_oid":6000,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_replication_origin catalog contains all replication origins created. For more on replication origins see Chapter 48.\n\nUnlike most system catalogs, pg_replication_origin is shared across all databases of a cluster: there is only one copy of pg_replication_origin per cluster, not one per database.","columns":[{"name":"roident","type":"oid","description":"A unique, cluster-wide identifier for the replication origin. Should never leave the system.","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"roname","type":"text","description":"The external, user defined, name of a replication origin.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-replication-origin.html","source_path":"sources/postgresql/19/catalog-pg-replication-origin.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_replication_origin.h","definition_source_path":"sources/postgresql/19/source/pg_replication_origin.h","source_column_count":2,"documentary_schema_source":"documentation","relation_oid":6000,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.4","to":"9.5","status":"added","added_columns":[{"name":"roident","type":"oid","description":"A unique, cluster-wide identifier for the replication origin. Should never leave the system.","documented_type":"Oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"roname","type":"text","description":"The external, user defined, name of a replication origin.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"10","to":"11","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_replication_origin_status","kind":"view","summary":"The pg_replication_origin_status view contains information about how far replay for a certain origin has progressed. For more on replication origins see Chapter 48.","first_version":"9.5","last_version":"19","versions":{"9.5":{"description":"The pg_replication_origin_status view contains information about how far replay for a certain origin has progressed. For more on replication origins see Chapter 47.","columns":[{"name":"local_id","type":"oid","description":"internal node identifier","references":"pg_replication_origin.roident","documented_type":"Oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"external_id","type":"text","description":"external node identifier","references":"pg_replication_origin.roname","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"remote_lsn","type":"pg_lsn","description":"The origin node's LSN up to which data has been replicated.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"local_lsn","type":"pg_lsn","description":"This node's LSN at which remote_lsn has been replicated. Used to flush commit records before persisting data to disk when using asynchronous commits.","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-replication-origin-status.html","source_path":"sources/postgresql/9.5/view-pg-replication-origin-status.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11811,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The pg_replication_origin_status view contains information about how far replay for a certain origin has progressed. For more on replication origins see Chapter 48.","columns":[{"name":"local_id","type":"oid","description":"internal node identifier","references":"pg_replication_origin.roident","documented_type":"Oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"external_id","type":"text","description":"external node identifier","references":"pg_replication_origin.roname","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"remote_lsn","type":"pg_lsn","description":"The origin node's LSN up to which data has been replicated.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"local_lsn","type":"pg_lsn","description":"This node's LSN at which remote_lsn has been replicated. Used to flush commit records before persisting data to disk when using asynchronous commits.","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-replication-origin-status.html","source_path":"sources/postgresql/9.6/view-pg-replication-origin-status.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11843,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The pg_replication_origin_status view contains information about how far replay for a certain origin has progressed. For more on replication origins see Chapter 49.","columns":[{"name":"local_id","type":"oid","description":"internal node identifier","references":"pg_replication_origin.roident","documented_type":"Oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"external_id","type":"text","description":"external node identifier","references":"pg_replication_origin.roname","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"remote_lsn","type":"pg_lsn","description":"The origin node's LSN up to which data has been replicated.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"local_lsn","type":"pg_lsn","description":"This node's LSN at which remote_lsn has been replicated. Used to flush commit records before persisting data to disk when using asynchronous commits.","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-replication-origin-status.html","source_path":"sources/postgresql/10/view-pg-replication-origin-status.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11731,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The pg_replication_origin_status view contains information about how far replay for a certain origin has progressed. For more on replication origins see Chapter 50.","columns":[{"name":"local_id","type":"oid","description":"internal node identifier","references":"pg_replication_origin.roident","documented_type":"Oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"external_id","type":"text","description":"external node identifier","references":"pg_replication_origin.roname","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"remote_lsn","type":"pg_lsn","description":"The origin node's LSN up to which data has been replicated.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"local_lsn","type":"pg_lsn","description":"This node's LSN at which remote_lsn has been replicated. Used to flush commit records before persisting data to disk when using asynchronous commits.","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-replication-origin-status.html","source_path":"sources/postgresql/11/view-pg-replication-origin-status.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11799,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The pg_replication_origin_status view contains information about how far replay for a certain origin has progressed. For more on replication origins see Chapter 49.","columns":[{"name":"local_id","type":"oid","description":"internal node identifier","references":"pg_replication_origin.roident","documented_type":"Oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"external_id","type":"text","description":"external node identifier","references":"pg_replication_origin.roname","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"remote_lsn","type":"pg_lsn","description":"The origin node's LSN up to which data has been replicated.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"local_lsn","type":"pg_lsn","description":"This node's LSN at which remote_lsn has been replicated. Used to flush commit records before persisting data to disk when using asynchronous commits.","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-replication-origin-status.html","source_path":"sources/postgresql/12/view-pg-replication-origin-status.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12309,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_replication_origin_status view contains information about how far replay for a certain origin has progressed. For more on replication origins see Chapter 49.","columns":[{"name":"local_id","type":"oid","description":"internal node identifier","references":"pg_replication_origin.roident","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"external_id","type":"text","description":"external node identifier","references":"pg_replication_origin.roname","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"remote_lsn","type":"pg_lsn","description":"The origin node's LSN up to which data has been replicated.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"local_lsn","type":"pg_lsn","description":"This node's LSN at which remote_lsn has been replicated. Used to flush commit records before persisting data to disk when using asynchronous commits.","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-replication-origin-status.html","source_path":"sources/postgresql/13/view-pg-replication-origin-status.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12322,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_replication_origin_status view contains information about how far replay for a certain origin has progressed. For more on replication origins see Chapter 50.","columns":[{"name":"local_id","type":"oid","description":"internal node identifier","references":"pg_replication_origin.roident","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"external_id","type":"text","description":"external node identifier","references":"pg_replication_origin.roname","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"remote_lsn","type":"pg_lsn","description":"The origin node's LSN up to which data has been replicated.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"local_lsn","type":"pg_lsn","description":"This node's LSN at which remote_lsn has been replicated. Used to flush commit records before persisting data to disk when using asynchronous commits.","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-replication-origin-status.html","source_path":"sources/postgresql/14/view-pg-replication-origin-status.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12541,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_replication_origin_status view contains information about how far replay for a certain origin has progressed. For more on replication origins see Chapter 50.","columns":[{"name":"local_id","type":"oid","description":"internal node identifier","references":"pg_replication_origin.roident","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"external_id","type":"text","description":"external node identifier","references":"pg_replication_origin.roname","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"remote_lsn","type":"pg_lsn","description":"The origin node's LSN up to which data has been replicated.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"local_lsn","type":"pg_lsn","description":"This node's LSN at which remote_lsn has been replicated. Used to flush commit records before persisting data to disk when using asynchronous commits.","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-replication-origin-status.html","source_path":"sources/postgresql/15/view-pg-replication-origin-status.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12332,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_replication_origin_status view contains information about how far replay for a certain origin has progressed. For more on replication origins see Chapter 50.","columns":[{"name":"local_id","type":"oid","description":"internal node identifier","references":"pg_replication_origin.roident","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"external_id","type":"text","description":"external node identifier","references":"pg_replication_origin.roname","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"remote_lsn","type":"pg_lsn","description":"The origin node's LSN up to which data has been replicated.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"local_lsn","type":"pg_lsn","description":"This node's LSN at which remote_lsn has been replicated. Used to flush commit records before persisting data to disk when using asynchronous commits.","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-replication-origin-status.html","source_path":"sources/postgresql/16/view-pg-replication-origin-status.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12336,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_replication_origin_status view contains information about how far replay for a certain origin has progressed. For more on replication origins see Chapter 48.","columns":[{"name":"local_id","type":"oid","description":"internal node identifier","references":"pg_replication_origin.roident","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"external_id","type":"text","description":"external node identifier","references":"pg_replication_origin.roname","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"remote_lsn","type":"pg_lsn","description":"The origin node's LSN up to which data has been replicated.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"local_lsn","type":"pg_lsn","description":"This node's LSN at which remote_lsn has been replicated. Used to flush commit records before persisting data to disk when using asynchronous commits.","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-replication-origin-status.html","source_path":"sources/postgresql/17/view-pg-replication-origin-status.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12339,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_replication_origin_status view contains information about how far replay for a certain origin has progressed. For more on replication origins see Chapter 48.","columns":[{"name":"local_id","type":"oid","description":"internal node identifier","references":"pg_replication_origin.roident","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"external_id","type":"text","description":"external node identifier","references":"pg_replication_origin.roname","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"remote_lsn","type":"pg_lsn","description":"The origin node's LSN up to which data has been replicated.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"local_lsn","type":"pg_lsn","description":"This node's LSN at which remote_lsn has been replicated. Used to flush commit records before persisting data to disk when using asynchronous commits.","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-replication-origin-status.html","source_path":"sources/postgresql/18/view-pg-replication-origin-status.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12343,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_replication_origin_status view contains information about how far replay for a certain origin has progressed. For more on replication origins see Chapter 48.","columns":[{"name":"local_id","type":"oid","description":"internal node identifier","references":"pg_replication_origin.roident","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"external_id","type":"text","description":"external node identifier","references":"pg_replication_origin.roname","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"remote_lsn","type":"pg_lsn","description":"The origin node's LSN up to which data has been replicated.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"local_lsn","type":"pg_lsn","description":"This node's LSN at which remote_lsn has been replicated. Used to flush commit records before persisting data to disk when using asynchronous commits.","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-replication-origin-status.html","source_path":"sources/postgresql/19/view-pg-replication-origin-status.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12375,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.4","to":"9.5","status":"added","added_columns":[{"name":"local_id","type":"oid","description":"internal node identifier","references":"pg_replication_origin.roident","documented_type":"Oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"external_id","type":"text","description":"external node identifier","references":"pg_replication_origin.roname","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"remote_lsn","type":"pg_lsn","description":"The origin node's LSN up to which data has been replicated.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"local_lsn","type":"pg_lsn","description":"This node's LSN at which remote_lsn has been replicated. Used to flush commit records before persisting data to disk when using asynchronous commits.","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"10","to":"11","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_replication_slots","kind":"view","summary":"The pg_replication_slots view provides a listing of all replication slots that currently exist on the database cluster, along with their current state.","first_version":"9.4","last_version":"19","versions":{"9.4":{"description":"The pg_replication_slots view provides a listing of all replication slots that currently exist on the database cluster, along with their current state.\n\nFor more on replication slots, see Section 25.2.6 and Chapter 46.","columns":[{"name":"slot_name","type":"name","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"plugin","type":"name","description":"The base name of the shared object containing the output plugin this logical slot is using, or null for physical slots.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_type","type":"text","description":"The slot type - physical or logical","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datoid","type":"oid","description":"The OID of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"The name of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.datname","documented_type":"text","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active","type":"boolean","description":"True if this slot is currently actively being used","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xmin","type":"xid","description":"The oldest transaction that this slot needs the database to retain. VACUUM cannot remove tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"catalog_xmin","type":"xid","description":"The oldest transaction affecting the system catalogs that this slot needs the database to retain. VACUUM cannot remove catalog tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restart_lsn","type":"pg_lsn","description":"The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints.","hidden":false,"type_oid":3220,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-replication-slots.html","source_path":"sources/postgresql/9.4/catalog-pg-replication-slots.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11291,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The pg_replication_slots view provides a listing of all replication slots that currently exist on the database cluster, along with their current state.\n\nFor more on replication slots, see Section 25.2.6 and Chapter 46.","columns":[{"name":"slot_name","type":"name","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"plugin","type":"name","description":"The base name of the shared object containing the output plugin this logical slot is using, or null for physical slots.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_type","type":"text","description":"The slot type - physical or logical","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datoid","type":"oid","description":"The OID of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"The name of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.datname","documented_type":"text","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active","type":"boolean","description":"True if this slot is currently actively being used","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active_pid","type":"integer","description":"The process ID of the session using this slot if the slot is currently actively being used. NULL if inactive.","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xmin","type":"xid","description":"The oldest transaction that this slot needs the database to retain. VACUUM cannot remove tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"catalog_xmin","type":"xid","description":"The oldest transaction affecting the system catalogs that this slot needs the database to retain. VACUUM cannot remove catalog tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restart_lsn","type":"pg_lsn","description":"The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints.","hidden":false,"type_oid":3220,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-replication-slots.html","source_path":"sources/postgresql/9.5/view-pg-replication-slots.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11783,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The pg_replication_slots view provides a listing of all replication slots that currently exist on the database cluster, along with their current state.\n\nFor more on replication slots, see Section 26.2.6 and Chapter 47.","columns":[{"name":"slot_name","type":"name","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"plugin","type":"name","description":"The base name of the shared object containing the output plugin this logical slot is using, or null for physical slots.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_type","type":"text","description":"The slot type - physical or logical","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datoid","type":"oid","description":"The OID of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"The name of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.datname","documented_type":"text","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active","type":"boolean","description":"True if this slot is currently actively being used","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active_pid","type":"integer","description":"The process ID of the session using this slot if the slot is currently actively being used. NULL if inactive.","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xmin","type":"xid","description":"The oldest transaction that this slot needs the database to retain. VACUUM cannot remove tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"catalog_xmin","type":"xid","description":"The oldest transaction affecting the system catalogs that this slot needs the database to retain. VACUUM cannot remove catalog tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restart_lsn","type":"pg_lsn","description":"The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints.","hidden":false,"type_oid":3220,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confirmed_flush_lsn","type":"pg_lsn","description":"The address (LSN) up to which the logical slot's consumer has confirmed receiving data. Data older than this is not available anymore. NULL for physical slots.","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-replication-slots.html","source_path":"sources/postgresql/9.6/view-pg-replication-slots.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11811,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The pg_replication_slots view provides a listing of all replication slots that currently exist on the database cluster, along with their current state.\n\nFor more on replication slots, see Section 26.2.6 and Chapter 48.","columns":[{"name":"slot_name","type":"name","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"plugin","type":"name","description":"The base name of the shared object containing the output plugin this logical slot is using, or null for physical slots.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_type","type":"text","description":"The slot type - physical or logical","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datoid","type":"oid","description":"The OID of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"The name of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.datname","documented_type":"text","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temporary","type":"boolean","description":"True if this is a temporary replication slot. Temporary slots are not saved to disk and are automatically dropped on error or when the session has finished.","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active","type":"boolean","description":"True if this slot is currently actively being used","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active_pid","type":"integer","description":"The process ID of the session using this slot if the slot is currently actively being used. NULL if inactive.","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xmin","type":"xid","description":"The oldest transaction that this slot needs the database to retain. VACUUM cannot remove tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"catalog_xmin","type":"xid","description":"The oldest transaction affecting the system catalogs that this slot needs the database to retain. VACUUM cannot remove catalog tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restart_lsn","type":"pg_lsn","description":"The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints.","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confirmed_flush_lsn","type":"pg_lsn","description":"The address (LSN) up to which the logical slot's consumer has confirmed receiving data. Data older than this is not available anymore. NULL for physical slots.","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-replication-slots.html","source_path":"sources/postgresql/10/view-pg-replication-slots.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11699,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The pg_replication_slots view provides a listing of all replication slots that currently exist on the database cluster, along with their current state.\n\nFor more on replication slots, see Section 26.2.6 and Chapter 49.","columns":[{"name":"slot_name","type":"name","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"plugin","type":"name","description":"The base name of the shared object containing the output plugin this logical slot is using, or null for physical slots.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_type","type":"text","description":"The slot type - physical or logical","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datoid","type":"oid","description":"The OID of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"The name of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.datname","documented_type":"text","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temporary","type":"boolean","description":"True if this is a temporary replication slot. Temporary slots are not saved to disk and are automatically dropped on error or when the session has finished.","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active","type":"boolean","description":"True if this slot is currently actively being used","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active_pid","type":"integer","description":"The process ID of the session using this slot if the slot is currently actively being used. NULL if inactive.","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xmin","type":"xid","description":"The oldest transaction that this slot needs the database to retain. VACUUM cannot remove tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"catalog_xmin","type":"xid","description":"The oldest transaction affecting the system catalogs that this slot needs the database to retain. VACUUM cannot remove catalog tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restart_lsn","type":"pg_lsn","description":"The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints. NULL if the LSN of this slot has never been reserved.","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confirmed_flush_lsn","type":"pg_lsn","description":"The address (LSN) up to which the logical slot's consumer has confirmed receiving data. Data older than this is not available anymore. NULL for physical slots.","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-replication-slots.html","source_path":"sources/postgresql/11/view-pg-replication-slots.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11767,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The pg_replication_slots view provides a listing of all replication slots that currently exist on the database cluster, along with their current state.\n\nFor more on replication slots, see Section 26.2.6 and Chapter 48.","columns":[{"name":"slot_name","type":"name","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"plugin","type":"name","description":"The base name of the shared object containing the output plugin this logical slot is using, or null for physical slots.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_type","type":"text","description":"The slot type - physical or logical","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datoid","type":"oid","description":"The OID of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"The name of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.datname","documented_type":"text","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temporary","type":"boolean","description":"True if this is a temporary replication slot. Temporary slots are not saved to disk and are automatically dropped on error or when the session has finished.","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active","type":"boolean","description":"True if this slot is currently actively being used","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active_pid","type":"integer","description":"The process ID of the session using this slot if the slot is currently actively being used. NULL if inactive.","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xmin","type":"xid","description":"The oldest transaction that this slot needs the database to retain. VACUUM cannot remove tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"catalog_xmin","type":"xid","description":"The oldest transaction affecting the system catalogs that this slot needs the database to retain. VACUUM cannot remove catalog tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restart_lsn","type":"pg_lsn","description":"The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints. NULL if the LSN of this slot has never been reserved.","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confirmed_flush_lsn","type":"pg_lsn","description":"The address (LSN) up to which the logical slot's consumer has confirmed receiving data. Data older than this is not available anymore. NULL for physical slots.","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-replication-slots.html","source_path":"sources/postgresql/12/view-pg-replication-slots.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12268,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_replication_slots view provides a listing of all replication slots that currently exist on the database cluster, along with their current state.\n\nFor more on replication slots, see Section 26.2.6 and Chapter 48.","columns":[{"name":"slot_name","type":"name","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"plugin","type":"name","description":"The base name of the shared object containing the output plugin this logical slot is using, or null for physical slots.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_type","type":"text","description":"The slot type: physical or logical","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datoid","type":"oid","description":"The OID of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"The name of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temporary","type":"boolean","description":"True if this is a temporary replication slot. Temporary slots are not saved to disk and are automatically dropped on error or when the session has finished.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active","type":"boolean","description":"True if this slot is currently actively being used","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active_pid","type":"integer","description":"The process ID of the session using this slot if the slot is currently actively being used. NULL if inactive.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xmin","type":"xid","description":"The oldest transaction that this slot needs the database to retain. VACUUM cannot remove tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"catalog_xmin","type":"xid","description":"The oldest transaction affecting the system catalogs that this slot needs the database to retain. VACUUM cannot remove catalog tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restart_lsn","type":"pg_lsn","description":"The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints unless this LSN gets behind more than max_slot_wal_keep_size from the current LSN. NULL if the LSN of this slot has never been reserved.","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confirmed_flush_lsn","type":"pg_lsn","description":"The address (LSN) up to which the logical slot's consumer has confirmed receiving data. Data older than this is not available anymore. NULL for physical slots.","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_status","type":"text","description":"Availability of WAL files claimed by this slot. Possible values are: The last two states are seen only when max_slot_wal_keep_size is non-negative.","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"safe_wal_size","type":"bigint","description":"The number of bytes that can be written to WAL such that this slot is not in danger of getting in state \"lost\". It is NULL for lost slots, as well as if max_slot_wal_keep_size is -1.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-replication-slots.html","source_path":"sources/postgresql/13/view-pg-replication-slots.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12273,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_replication_slots view provides a listing of all replication slots that currently exist on the database cluster, along with their current state.\n\nFor more on replication slots, see Section 27.2.6 and Chapter 49.","columns":[{"name":"slot_name","type":"name","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"plugin","type":"name","description":"The base name of the shared object containing the output plugin this logical slot is using, or null for physical slots.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_type","type":"text","description":"The slot type: physical or logical","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datoid","type":"oid","description":"The OID of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"The name of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temporary","type":"boolean","description":"True if this is a temporary replication slot. Temporary slots are not saved to disk and are automatically dropped on error or when the session has finished.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active","type":"boolean","description":"True if this slot is currently actively being used","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active_pid","type":"integer","description":"The process ID of the session using this slot if the slot is currently actively being used. NULL if inactive.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xmin","type":"xid","description":"The oldest transaction that this slot needs the database to retain. VACUUM cannot remove tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"catalog_xmin","type":"xid","description":"The oldest transaction affecting the system catalogs that this slot needs the database to retain. VACUUM cannot remove catalog tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restart_lsn","type":"pg_lsn","description":"The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints unless this LSN gets behind more than max_slot_wal_keep_size from the current LSN. NULL if the LSN of this slot has never been reserved.","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confirmed_flush_lsn","type":"pg_lsn","description":"The address (LSN) up to which the logical slot's consumer has confirmed receiving data. Data older than this is not available anymore. NULL for physical slots.","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_status","type":"text","description":"Availability of WAL files claimed by this slot. Possible values are: The last two states are seen only when max_slot_wal_keep_size is non-negative.","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"safe_wal_size","type":"bigint","description":"The number of bytes that can be written to WAL such that this slot is not in danger of getting in state \"lost\". It is NULL for lost slots, as well as if max_slot_wal_keep_size is -1.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"two_phase","type":"boolean","description":"True if the slot is enabled for decoding prepared transactions. Always false for physical slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-replication-slots.html","source_path":"sources/postgresql/14/view-pg-replication-slots.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12466,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_replication_slots view provides a listing of all replication slots that currently exist on the database cluster, along with their current state.\n\nFor more on replication slots, see Section 27.2.6 and Chapter 49.","columns":[{"name":"slot_name","type":"name","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"plugin","type":"name","description":"The base name of the shared object containing the output plugin this logical slot is using, or null for physical slots.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_type","type":"text","description":"The slot type: physical or logical","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datoid","type":"oid","description":"The OID of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"The name of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temporary","type":"boolean","description":"True if this is a temporary replication slot. Temporary slots are not saved to disk and are automatically dropped on error or when the session has finished.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active","type":"boolean","description":"True if this slot is currently actively being used","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active_pid","type":"integer","description":"The process ID of the session using this slot if the slot is currently actively being used. NULL if inactive.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xmin","type":"xid","description":"The oldest transaction that this slot needs the database to retain. VACUUM cannot remove tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"catalog_xmin","type":"xid","description":"The oldest transaction affecting the system catalogs that this slot needs the database to retain. VACUUM cannot remove catalog tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restart_lsn","type":"pg_lsn","description":"The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints unless this LSN gets behind more than max_slot_wal_keep_size from the current LSN. NULL if the LSN of this slot has never been reserved.","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confirmed_flush_lsn","type":"pg_lsn","description":"The address (LSN) up to which the logical slot's consumer has confirmed receiving data. Data older than this is not available anymore. NULL for physical slots.","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_status","type":"text","description":"Availability of WAL files claimed by this slot. Possible values are: The last two states are seen only when max_slot_wal_keep_size is non-negative.","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"safe_wal_size","type":"bigint","description":"The number of bytes that can be written to WAL such that this slot is not in danger of getting in state \"lost\". It is NULL for lost slots, as well as if max_slot_wal_keep_size is -1.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"two_phase","type":"boolean","description":"True if the slot is enabled for decoding prepared transactions. Always false for physical slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-replication-slots.html","source_path":"sources/postgresql/15/view-pg-replication-slots.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12257,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_replication_slots view provides a listing of all replication slots that currently exist on the database cluster, along with their current state.\n\nFor more on replication slots, see Section 27.2.6 and Chapter 49.","columns":[{"name":"slot_name","type":"name","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"plugin","type":"name","description":"The base name of the shared object containing the output plugin this logical slot is using, or null for physical slots.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_type","type":"text","description":"The slot type: physical or logical","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datoid","type":"oid","description":"The OID of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"The name of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temporary","type":"boolean","description":"True if this is a temporary replication slot. Temporary slots are not saved to disk and are automatically dropped on error or when the session has finished.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active","type":"boolean","description":"True if this slot is currently actively being used","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active_pid","type":"integer","description":"The process ID of the session using this slot if the slot is currently actively being used. NULL if inactive.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xmin","type":"xid","description":"The oldest transaction that this slot needs the database to retain. VACUUM cannot remove tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"catalog_xmin","type":"xid","description":"The oldest transaction affecting the system catalogs that this slot needs the database to retain. VACUUM cannot remove catalog tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restart_lsn","type":"pg_lsn","description":"The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints unless this LSN gets behind more than max_slot_wal_keep_size from the current LSN. NULL if the LSN of this slot has never been reserved.","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confirmed_flush_lsn","type":"pg_lsn","description":"The address (LSN) up to which the logical slot's consumer has confirmed receiving data. Data corresponding to the transactions committed before this LSN is not available anymore. NULL for physical slots.","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_status","type":"text","description":"Availability of WAL files claimed by this slot. Possible values are:","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"safe_wal_size","type":"bigint","description":"The number of bytes that can be written to WAL such that this slot is not in danger of getting in state \"lost\". It is NULL for lost slots, as well as if max_slot_wal_keep_size is -1.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"two_phase","type":"boolean","description":"True if the slot is enabled for decoding prepared transactions. Always false for physical slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conflicting","type":"boolean","description":"True if this logical slot conflicted with recovery (and so is now invalidated). Always NULL for physical slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-replication-slots.html","source_path":"sources/postgresql/16/view-pg-replication-slots.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12257,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_replication_slots view provides a listing of all replication slots that currently exist on the database cluster, along with their current state.\n\nFor more on replication slots, see Section 26.2.6 and Chapter 47.","columns":[{"name":"slot_name","type":"name","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"plugin","type":"name","description":"The base name of the shared object containing the output plugin this logical slot is using, or null for physical slots.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_type","type":"text","description":"The slot type: physical or logical","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datoid","type":"oid","description":"The OID of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"The name of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temporary","type":"boolean","description":"True if this is a temporary replication slot. Temporary slots are not saved to disk and are automatically dropped on error or when the session has finished.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active","type":"boolean","description":"True if this slot is currently being streamed","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active_pid","type":"integer","description":"The process ID of the session streaming data for this slot. NULL if inactive.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xmin","type":"xid","description":"The oldest transaction that this slot needs the database to retain. VACUUM cannot remove tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"catalog_xmin","type":"xid","description":"The oldest transaction affecting the system catalogs that this slot needs the database to retain. VACUUM cannot remove catalog tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restart_lsn","type":"pg_lsn","description":"The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints unless this LSN gets behind more than max_slot_wal_keep_size from the current LSN. NULL if the LSN of this slot has never been reserved.","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confirmed_flush_lsn","type":"pg_lsn","description":"The address (LSN) up to which the logical slot's consumer has confirmed receiving data. Data corresponding to the transactions committed before this LSN is not available anymore. NULL for physical slots.","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_status","type":"text","description":"Availability of WAL files claimed by this slot. Possible values are:","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"safe_wal_size","type":"bigint","description":"The number of bytes that can be written to WAL such that this slot is not in danger of getting in state \"lost\". It is NULL for lost slots, as well as if max_slot_wal_keep_size is -1.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"two_phase","type":"boolean","description":"True if the slot is enabled for decoding prepared transactions. Always false for physical slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inactive_since","type":"timestamp with time zone","description":"The time when the slot became inactive. NULL if the slot is currently being streamed. Note that for slots on the standby that are being synced from a primary server (whose synced field is true), the inactive_since indicates the time when slot synchronization (see Section 47.2.3) was most recently stopped. NULL if the slot has always been synchronized. On standby, this is useful for slots that are being synced from a primary server (whose synced field is true) so they know when the slot stopped being synchronized.","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conflicting","type":"boolean","description":"True if this logical slot conflicted with recovery (and so is now invalidated). When this column is true, check invalidation_reason column for the conflict reason. Always NULL for physical slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"invalidation_reason","type":"text","description":"The reason for the slot's invalidation. It is set for both logical and physical slots. NULL if the slot is not invalidated. Possible values are:","hidden":false,"type_oid":25,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"failover","type":"boolean","description":"True if this is a logical slot enabled to be synced to the standbys so that logical replication can be resumed from the new primary after failover. Always false for physical slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"synced","type":"boolean","description":"True if this is a logical slot that was synced from a primary server. On a hot standby, the slots with the synced column marked as true can neither be used for logical decoding nor dropped manually. The value of this column has no meaning on the primary server; the column value on the primary is default false for all slots but may (if leftover from a promoted standby) also be true.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-replication-slots.html","source_path":"sources/postgresql/17/view-pg-replication-slots.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12257,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_replication_slots view provides a listing of all replication slots that currently exist on the database cluster, along with their current state.\n\nFor more on replication slots, see Section 26.2.6 and Chapter 47.","columns":[{"name":"slot_name","type":"name","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"plugin","type":"name","description":"The base name of the shared object containing the output plugin this logical slot is using, or null for physical slots.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_type","type":"text","description":"The slot type: physical or logical","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datoid","type":"oid","description":"The OID of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"The name of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temporary","type":"boolean","description":"True if this is a temporary replication slot. Temporary slots are not saved to disk and are automatically dropped on error or when the session has finished.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active","type":"boolean","description":"True if this slot is currently being streamed","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active_pid","type":"integer","description":"The process ID of the session streaming data for this slot. NULL if inactive.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xmin","type":"xid","description":"The oldest transaction that this slot needs the database to retain. VACUUM cannot remove tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"catalog_xmin","type":"xid","description":"The oldest transaction affecting the system catalogs that this slot needs the database to retain. VACUUM cannot remove catalog tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restart_lsn","type":"pg_lsn","description":"The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints unless this LSN gets behind more than max_slot_wal_keep_size from the current LSN. NULL if the LSN of this slot has never been reserved.","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confirmed_flush_lsn","type":"pg_lsn","description":"The address (LSN) up to which the logical slot's consumer has confirmed receiving data. Data corresponding to the transactions committed before this LSN is not available anymore. NULL for physical slots.","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_status","type":"text","description":"Availability of WAL files claimed by this slot. Possible values are:","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"safe_wal_size","type":"bigint","description":"The number of bytes that can be written to WAL such that this slot is not in danger of getting in state \"lost\". It is NULL for lost slots, as well as if max_slot_wal_keep_size is -1.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"two_phase","type":"boolean","description":"True if the slot is enabled for decoding prepared transactions. Always false for physical slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"two_phase_at","type":"pg_lsn","description":"The address (LSN) from which the decoding of prepared transactions is enabled. NULL for logical slots where two_phase is false and for physical slots.","hidden":false,"type_oid":3220,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inactive_since","type":"timestamp with time zone","description":"The time when the slot became inactive. NULL if the slot is currently being streamed. If the slot becomes invalid, this value will never be updated. For standby slots that are being synced from a primary server (whose synced field is true), the inactive_since indicates the time when slot synchronization (see Section 47.2.3) was most recently stopped. NULL if the slot has always been synchronized. This helps standby slots track when synchronization was interrupted.","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conflicting","type":"boolean","description":"True if this logical slot conflicted with recovery (and so is now invalidated). When this column is true, check invalidation_reason column for the conflict reason. Always NULL for physical slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"invalidation_reason","type":"text","description":"The reason for the slot's invalidation. It is set for both logical and physical slots. NULL if the slot is not invalidated. Possible values are:","hidden":false,"type_oid":25,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"failover","type":"boolean","description":"True if this is a logical slot enabled to be synced to the standbys so that logical replication can be resumed from the new primary after failover. Always false for physical slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"synced","type":"boolean","description":"True if this is a logical slot that was synced from a primary server. On a hot standby, the slots with the synced column marked as true can neither be used for logical decoding nor dropped manually. The value of this column has no meaning on the primary server; the column value on the primary is default false for all slots but may (if leftover from a promoted standby) also be true.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-replication-slots.html","source_path":"sources/postgresql/18/view-pg-replication-slots.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12261,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_replication_slots view provides a listing of all replication slots that currently exist on the database cluster, along with their current state.\n\nFor more on replication slots, see Section 26.2.6 and Chapter 47.","columns":[{"name":"slot_name","type":"name","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"plugin","type":"name","description":"The base name of the shared object containing the output plugin this logical slot is using, or null for physical slots.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_type","type":"text","description":"The slot type: physical or logical","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datoid","type":"oid","description":"The OID of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"The name of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.datname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temporary","type":"boolean","description":"True if this is a temporary replication slot. Temporary slots are not saved to disk and are automatically dropped on error or when the session has finished.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active","type":"boolean","description":"True if this slot is currently being streamed","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active_pid","type":"integer","description":"The process ID of the session streaming data for this slot. NULL if inactive.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xmin","type":"xid","description":"The oldest transaction that this slot needs the database to retain. VACUUM cannot remove tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"catalog_xmin","type":"xid","description":"The oldest transaction affecting the system catalogs that this slot needs the database to retain. VACUUM cannot remove catalog tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restart_lsn","type":"pg_lsn","description":"The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints unless this LSN gets behind more than max_slot_wal_keep_size from the current LSN. NULL if the LSN of this slot has never been reserved.","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confirmed_flush_lsn","type":"pg_lsn","description":"The address (LSN) up to which the logical slot's consumer has confirmed receiving data. Data corresponding to the transactions committed before this LSN is not available anymore. NULL for physical slots.","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_status","type":"text","description":"Availability of WAL files claimed by this slot. Possible values are:","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"safe_wal_size","type":"bigint","description":"The number of bytes that can be written to WAL such that this slot is not in danger of getting in state \"lost\". It is NULL for lost slots, as well as if max_slot_wal_keep_size is -1.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"two_phase","type":"boolean","description":"True if the slot is enabled for decoding prepared transactions. Always false for physical slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"two_phase_at","type":"pg_lsn","description":"The address (LSN) from which the decoding of prepared transactions is enabled. NULL for logical slots where two_phase is false and for physical slots.","hidden":false,"type_oid":3220,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inactive_since","type":"timestamp with time zone","description":"The time when the slot became inactive. NULL if the slot is currently being streamed. If the slot becomes invalid, this value will never be updated. For standby slots that are being synced from a primary server (whose synced field is true), the inactive_since indicates the time when slot synchronization (see Section 47.2.3) was most recently stopped. NULL if the slot has always been synchronized. This helps standby slots track when synchronization was interrupted.","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conflicting","type":"boolean","description":"True if this logical slot conflicted with recovery (and so is now invalidated). When this column is true, check invalidation_reason column for the conflict reason. Always NULL for physical slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"invalidation_reason","type":"text","description":"The reason for the slot's invalidation. It is set for both logical and physical slots. NULL if the slot is not invalidated. Possible values are:","hidden":false,"type_oid":25,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"failover","type":"boolean","description":"True if this is a logical slot enabled to be synced to the standbys so that logical replication can be resumed from the new primary after failover. Always false for physical slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"synced","type":"boolean","description":"True if this is a logical slot that was synced from a primary server. On a hot standby, the slots with the synced column marked as true can neither be used for logical decoding nor dropped manually. The value of this column has no meaning on the primary server; the column value on the primary is default false for all slots but may (if leftover from a promoted standby) also be true.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slotsync_skip_reason","type":"text","description":"The reason for the last slot synchronization skip. Slot synchronization occurs only on standby servers and thus this column has no meaning on the primary server. It is relevant mainly for logical slots on standby servers whose synced field is true. It is NULL if slot synchronization is successful. Possible values are:","hidden":false,"type_oid":25,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-replication-slots.html","source_path":"sources/postgresql/19/view-pg-replication-slots.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12283,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.3","to":"9.4","status":"added","added_columns":[{"name":"slot_name","type":"name","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"plugin","type":"name","description":"The base name of the shared object containing the output plugin this logical slot is using, or null for physical slots.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_type","type":"text","description":"The slot type - physical or logical","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datoid","type":"oid","description":"The OID of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"database","type":"name","description":"The name of the database this slot is associated with, or null. Only logical slots have an associated database.","references":"pg_database.datname","documented_type":"text","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active","type":"boolean","description":"True if this slot is currently actively being used","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xmin","type":"xid","description":"The oldest transaction that this slot needs the database to retain. VACUUM cannot remove tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"catalog_xmin","type":"xid","description":"The oldest transaction affecting the system catalogs that this slot needs the database to retain. VACUUM cannot remove catalog tuples deleted by any later transaction.","hidden":false,"type_oid":28,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restart_lsn","type":"pg_lsn","description":"The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints.","hidden":false,"type_oid":3220,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.4","to":"9.5","status":"changed","added_columns":[{"name":"active_pid","type":"integer","description":"The process ID of the session using this slot if the slot is currently actively being used. NULL if inactive.","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.5","to":"9.6","status":"changed","added_columns":[{"name":"confirmed_flush_lsn","type":"pg_lsn","description":"The address (LSN) up to which the logical slot's consumer has confirmed receiving data. Data older than this is not available anymore. NULL for physical slots.","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.6","to":"10","status":"changed","added_columns":[{"name":"temporary","type":"boolean","description":"True if this is a temporary replication slot. Temporary slots are not saved to disk and are automatically dropped on error or when the session has finished.","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"10","to":"11","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"restart_lsn","from":"The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints.","to":"The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints. NULL if the LSN of this slot has never been reserved."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"changed","added_columns":[{"name":"wal_status","type":"text","description":"Availability of WAL files claimed by this slot. Possible values are: The last two states are seen only when max_slot_wal_keep_size is non-negative.","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"safe_wal_size","type":"bigint","description":"The number of bytes that can be written to WAL such that this slot is not in danger of getting in state \"lost\". It is NULL for lost slots, as well as if max_slot_wal_keep_size is -1.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"restart_lsn","from":"The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints. NULL if the LSN of this slot has never been reserved.","to":"The address (LSN) of oldest WAL which still might be required by the consumer of this slot and thus won't be automatically removed during checkpoints unless this LSN gets behind more than max_slot_wal_keep_size from the current LSN. NULL if the LSN of this slot has never been reserved."},{"name":"slot_type","from":"The slot type - physical or logical","to":"The slot type: physical or logical"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[{"name":"two_phase","type":"boolean","description":"True if the slot is enabled for decoding prepared transactions. Always false for physical slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"15","to":"16","status":"changed","added_columns":[{"name":"conflicting","type":"boolean","description":"True if this logical slot conflicted with recovery (and so is now invalidated). Always NULL for physical slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"confirmed_flush_lsn","from":"The address (LSN) up to which the logical slot's consumer has confirmed receiving data. Data older than this is not available anymore. NULL for physical slots.","to":"The address (LSN) up to which the logical slot's consumer has confirmed receiving data. Data corresponding to the transactions committed before this LSN is not available anymore. NULL for physical slots."},{"name":"wal_status","from":"Availability of WAL files claimed by this slot. Possible values are: The last two states are seen only when max_slot_wal_keep_size is non-negative.","to":"Availability of WAL files claimed by this slot. Possible values are:"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"16","to":"17","status":"changed","added_columns":[{"name":"inactive_since","type":"timestamp with time zone","description":"The time when the slot became inactive. NULL if the slot is currently being streamed. Note that for slots on the standby that are being synced from a primary server (whose synced field is true), the inactive_since indicates the time when slot synchronization (see Section 47.2.3) was most recently stopped. NULL if the slot has always been synchronized. On standby, this is useful for slots that are being synced from a primary server (whose synced field is true) so they know when the slot stopped being synchronized.","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"invalidation_reason","type":"text","description":"The reason for the slot's invalidation. It is set for both logical and physical slots. NULL if the slot is not invalidated. Possible values are:","hidden":false,"type_oid":25,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"failover","type":"boolean","description":"True if this is a logical slot enabled to be synced to the standbys so that logical replication can be resumed from the new primary after failover. Always false for physical slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"synced","type":"boolean","description":"True if this is a logical slot that was synced from a primary server. On a hot standby, the slots with the synced column marked as true can neither be used for logical decoding nor dropped manually. The value of this column has no meaning on the primary server; the column value on the primary is default false for all slots but may (if leftover from a promoted standby) also be true.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"active","from":"True if this slot is currently actively being used","to":"True if this slot is currently being streamed"},{"name":"active_pid","from":"The process ID of the session using this slot if the slot is currently actively being used. NULL if inactive.","to":"The process ID of the session streaming data for this slot. NULL if inactive."},{"name":"conflicting","from":"True if this logical slot conflicted with recovery (and so is now invalidated). Always NULL for physical slots.","to":"True if this logical slot conflicted with recovery (and so is now invalidated). When this column is true, check invalidation_reason column for the conflict reason. Always NULL for physical slots."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"17","to":"18","status":"changed","added_columns":[{"name":"two_phase_at","type":"pg_lsn","description":"The address (LSN) from which the decoding of prepared transactions is enabled. NULL for logical slots where two_phase is false and for physical slots.","hidden":false,"type_oid":3220,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"inactive_since","from":"The time when the slot became inactive. NULL if the slot is currently being streamed. Note that for slots on the standby that are being synced from a primary server (whose synced field is true), the inactive_since indicates the time when slot synchronization (see Section 47.2.3) was most recently stopped. NULL if the slot has always been synchronized. On standby, this is useful for slots that are being synced from a primary server (whose synced field is true) so they know when the slot stopped being synchronized.","to":"The time when the slot became inactive. NULL if the slot is currently being streamed. If the slot becomes invalid, this value will never be updated. For standby slots that are being synced from a primary server (whose synced field is true), the inactive_since indicates the time when slot synchronization (see Section 47.2.3) was most recently stopped. NULL if the slot has always been synchronized. This helps standby slots track when synchronization was interrupted."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"slotsync_skip_reason","type":"text","description":"The reason for the last slot synchronization skip. Slot synchronization occurs only on standby servers and thus this column has no meaning on the primary server. It is relevant mainly for logical slots on standby servers whose synced field is true. It is NULL if slot synchronization is successful. Possible values are:","hidden":false,"type_oid":25,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_rewrite","kind":"catalog","summary":"query rewrite rules","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_rewrite stores rewrite rules for tables and views.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_rewrite.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rulename","type":"name","description":"Rule name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_class","type":"oid","description":"The table this rule is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_attr","type":"smallint","description":"The column this rule is for (currently, always -1 to indicate the whole table)","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_type","type":"\"char\"","description":"Event type that the rule is for: 1 = SELECT, 2 = UPDATE, 3 = INSERT, 4 = DELETE","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_enabled","type":"\"char\"","description":"Controls in which session_replication_role modes the rule fires. O = rule fires in \"origin\" and \"local\" modes, D = rule is disabled, R = rule fires in \"replica\" mode, A = rule fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"is_instead","type":"boolean","description":"True if the rule is an INSTEAD rule","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_qual","type":"text","description":"Expression tree (in the form of a nodeToString() representation) for the rule's qualifying condition","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ev_action","type":"text","description":"Query tree (in the form of a nodeToString() representation) for the rule's action","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-rewrite.html","source_path":"sources/postgresql/9.0/catalog-pg-rewrite.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_rewrite.h","definition_source_path":"sources/postgresql/9.0/source/pg_rewrite.h","source_column_count":9,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2618,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_rewrite stores rewrite rules for tables and views.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_rewrite.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rulename","type":"name","description":"Rule name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_class","type":"oid","description":"The table this rule is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_attr","type":"smallint","description":"The column this rule is for (currently, always -1 to indicate the whole table)","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_type","type":"\"char\"","description":"Event type that the rule is for: 1 = SELECT, 2 = UPDATE, 3 = INSERT, 4 = DELETE","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_enabled","type":"\"char\"","description":"Controls in which session_replication_role modes the rule fires. O = rule fires in \"origin\" and \"local\" modes, D = rule is disabled, R = rule fires in \"replica\" mode, A = rule fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"is_instead","type":"boolean","description":"True if the rule is an INSTEAD rule","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_qual","type":"pg_node_tree","description":"Expression tree (in the form of a nodeToString() representation) for the rule's qualifying condition","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ev_action","type":"pg_node_tree","description":"Query tree (in the form of a nodeToString() representation) for the rule's action","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-rewrite.html","source_path":"sources/postgresql/9.1/catalog-pg-rewrite.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_rewrite.h","definition_source_path":"sources/postgresql/9.1/source/pg_rewrite.h","source_column_count":9,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2618,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_rewrite stores rewrite rules for tables and views.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_rewrite.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rulename","type":"name","description":"Rule name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_class","type":"oid","description":"The table this rule is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_attr","type":"smallint","description":"The column this rule is for (currently, always -1 to indicate the whole table)","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_type","type":"\"char\"","description":"Event type that the rule is for: 1 = SELECT, 2 = UPDATE, 3 = INSERT, 4 = DELETE","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_enabled","type":"\"char\"","description":"Controls in which session_replication_role modes the rule fires. O = rule fires in \"origin\" and \"local\" modes, D = rule is disabled, R = rule fires in \"replica\" mode, A = rule fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"is_instead","type":"boolean","description":"True if the rule is an INSTEAD rule","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_qual","type":"pg_node_tree","description":"Expression tree (in the form of a nodeToString() representation) for the rule's qualifying condition","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ev_action","type":"pg_node_tree","description":"Query tree (in the form of a nodeToString() representation) for the rule's action","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-rewrite.html","source_path":"sources/postgresql/9.2/catalog-pg-rewrite.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_rewrite.h","definition_source_path":"sources/postgresql/9.2/source/pg_rewrite.h","source_column_count":9,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2618,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_rewrite stores rewrite rules for tables and views.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rulename","type":"name","description":"Rule name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_class","type":"oid","description":"The table this rule is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_attr","type":"smallint","description":"The column this rule is for (currently, always -1 to indicate the whole table)","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_type","type":"\"char\"","description":"Event type that the rule is for: 1 = SELECT, 2 = UPDATE, 3 = INSERT, 4 = DELETE","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_enabled","type":"\"char\"","description":"Controls in which session_replication_role modes the rule fires. O = rule fires in \"origin\" and \"local\" modes, D = rule is disabled, R = rule fires in \"replica\" mode, A = rule fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"is_instead","type":"boolean","description":"True if the rule is an INSTEAD rule","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_qual","type":"pg_node_tree","description":"Expression tree (in the form of a nodeToString() representation) for the rule's qualifying condition","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ev_action","type":"pg_node_tree","description":"Query tree (in the form of a nodeToString() representation) for the rule's action","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-rewrite.html","source_path":"sources/postgresql/9.3/catalog-pg-rewrite.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_rewrite.h","definition_source_path":"sources/postgresql/9.3/source/pg_rewrite.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":2618,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_rewrite stores rewrite rules for tables and views.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rulename","type":"name","description":"Rule name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_class","type":"oid","description":"The table this rule is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_type","type":"\"char\"","description":"Event type that the rule is for: 1 = SELECT, 2 = UPDATE, 3 = INSERT, 4 = DELETE","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_enabled","type":"\"char\"","description":"Controls in which session_replication_role modes the rule fires. O = rule fires in \"origin\" and \"local\" modes, D = rule is disabled, R = rule fires in \"replica\" mode, A = rule fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"is_instead","type":"boolean","description":"True if the rule is an INSTEAD rule","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_qual","type":"pg_node_tree","description":"Expression tree (in the form of a nodeToString() representation) for the rule's qualifying condition","hidden":false,"type_oid":194,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ev_action","type":"pg_node_tree","description":"Query tree (in the form of a nodeToString() representation) for the rule's action","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-rewrite.html","source_path":"sources/postgresql/9.4/catalog-pg-rewrite.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_rewrite.h","definition_source_path":"sources/postgresql/9.4/source/pg_rewrite.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2618,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_rewrite stores rewrite rules for tables and views.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rulename","type":"name","description":"Rule name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_class","type":"oid","description":"The table this rule is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_type","type":"\"char\"","description":"Event type that the rule is for: 1 = SELECT, 2 = UPDATE, 3 = INSERT, 4 = DELETE","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_enabled","type":"\"char\"","description":"Controls in which session_replication_role modes the rule fires. O = rule fires in \"origin\" and \"local\" modes, D = rule is disabled, R = rule fires in \"replica\" mode, A = rule fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"is_instead","type":"boolean","description":"True if the rule is an INSTEAD rule","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_qual","type":"pg_node_tree","description":"Expression tree (in the form of a nodeToString() representation) for the rule's qualifying condition","hidden":false,"type_oid":194,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ev_action","type":"pg_node_tree","description":"Query tree (in the form of a nodeToString() representation) for the rule's action","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-rewrite.html","source_path":"sources/postgresql/9.5/catalog-pg-rewrite.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_rewrite.h","definition_source_path":"sources/postgresql/9.5/source/pg_rewrite.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2618,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_rewrite stores rewrite rules for tables and views.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rulename","type":"name","description":"Rule name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_class","type":"oid","description":"The table this rule is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_type","type":"\"char\"","description":"Event type that the rule is for: 1 = SELECT, 2 = UPDATE, 3 = INSERT, 4 = DELETE","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_enabled","type":"\"char\"","description":"Controls in which session_replication_role modes the rule fires. O = rule fires in \"origin\" and \"local\" modes, D = rule is disabled, R = rule fires in \"replica\" mode, A = rule fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"is_instead","type":"boolean","description":"True if the rule is an INSTEAD rule","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_qual","type":"pg_node_tree","description":"Expression tree (in the form of a nodeToString() representation) for the rule's qualifying condition","hidden":false,"type_oid":194,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ev_action","type":"pg_node_tree","description":"Query tree (in the form of a nodeToString() representation) for the rule's action","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-rewrite.html","source_path":"sources/postgresql/9.6/catalog-pg-rewrite.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_rewrite.h","definition_source_path":"sources/postgresql/9.6/source/pg_rewrite.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2618,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_rewrite stores rewrite rules for tables and views.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rulename","type":"name","description":"Rule name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_class","type":"oid","description":"The table this rule is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_type","type":"\"char\"","description":"Event type that the rule is for: 1 = SELECT, 2 = UPDATE, 3 = INSERT, 4 = DELETE","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_enabled","type":"\"char\"","description":"Controls in which session_replication_role modes the rule fires. O = rule fires in “origin” and “local” modes, D = rule is disabled, R = rule fires in “replica” mode, A = rule fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"is_instead","type":"boolean","description":"True if the rule is an INSTEAD rule","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_qual","type":"pg_node_tree","description":"Expression tree (in the form of a nodeToString() representation) for the rule's qualifying condition","hidden":false,"type_oid":194,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ev_action","type":"pg_node_tree","description":"Query tree (in the form of a nodeToString() representation) for the rule's action","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-rewrite.html","source_path":"sources/postgresql/10/catalog-pg-rewrite.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_rewrite.h","definition_source_path":"sources/postgresql/10/source/pg_rewrite.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2618,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_rewrite stores rewrite rules for tables and views.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rulename","type":"name","description":"Rule name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_class","type":"oid","description":"The table this rule is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_type","type":"\"char\"","description":"Event type that the rule is for: 1 = SELECT, 2 = UPDATE, 3 = INSERT, 4 = DELETE","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_enabled","type":"\"char\"","description":"Controls in which session_replication_role modes the rule fires. O = rule fires in “origin” and “local” modes, D = rule is disabled, R = rule fires in “replica” mode, A = rule fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"is_instead","type":"boolean","description":"True if the rule is an INSTEAD rule","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_qual","type":"pg_node_tree","description":"Expression tree (in the form of a nodeToString() representation) for the rule's qualifying condition","hidden":false,"type_oid":194,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ev_action","type":"pg_node_tree","description":"Query tree (in the form of a nodeToString() representation) for the rule's action","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-rewrite.html","source_path":"sources/postgresql/11/catalog-pg-rewrite.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_rewrite.h","definition_source_path":"sources/postgresql/11/source/pg_rewrite.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2618,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_rewrite stores rewrite rules for tables and views.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rulename","type":"name","description":"Rule name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_class","type":"oid","description":"The table this rule is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_type","type":"\"char\"","description":"Event type that the rule is for: 1 = SELECT, 2 = UPDATE, 3 = INSERT, 4 = DELETE","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_enabled","type":"\"char\"","description":"Controls in which session_replication_role modes the rule fires. O = rule fires in “origin” and “local” modes, D = rule is disabled, R = rule fires in “replica” mode, A = rule fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"is_instead","type":"boolean","description":"True if the rule is an INSTEAD rule","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_qual","type":"pg_node_tree","description":"Expression tree (in the form of a nodeToString() representation) for the rule's qualifying condition","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_action","type":"pg_node_tree","description":"Query tree (in the form of a nodeToString() representation) for the rule's action","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-rewrite.html","source_path":"sources/postgresql/12/catalog-pg-rewrite.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_rewrite.h","definition_source_path":"sources/postgresql/12/source/pg_rewrite.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2618,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_rewrite stores rewrite rules for tables and views.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rulename","type":"name","description":"Rule name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_class","type":"oid","description":"The table this rule is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_type","type":"\"char\"","description":"Event type that the rule is for: 1 = SELECT, 2 = UPDATE, 3 = INSERT, 4 = DELETE","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_enabled","type":"\"char\"","description":"Controls in which session_replication_role modes the rule fires. O = rule fires in “origin” and “local” modes, D = rule is disabled, R = rule fires in “replica” mode, A = rule fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"is_instead","type":"boolean","description":"True if the rule is an INSTEAD rule","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_qual","type":"pg_node_tree","description":"Expression tree (in the form of a nodeToString() representation) for the rule's qualifying condition","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_action","type":"pg_node_tree","description":"Query tree (in the form of a nodeToString() representation) for the rule's action","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-rewrite.html","source_path":"sources/postgresql/13/catalog-pg-rewrite.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_rewrite.h","definition_source_path":"sources/postgresql/13/source/pg_rewrite.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2618,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_rewrite stores rewrite rules for tables and views.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rulename","type":"name","description":"Rule name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_class","type":"oid","description":"The table this rule is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_type","type":"\"char\"","description":"Event type that the rule is for: 1 = SELECT, 2 = UPDATE, 3 = INSERT, 4 = DELETE","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_enabled","type":"\"char\"","description":"Controls in which session_replication_role modes the rule fires. O = rule fires in “origin” and “local” modes, D = rule is disabled, R = rule fires in “replica” mode, A = rule fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"is_instead","type":"boolean","description":"True if the rule is an INSTEAD rule","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_qual","type":"pg_node_tree","description":"Expression tree (in the form of a nodeToString() representation) for the rule's qualifying condition","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_action","type":"pg_node_tree","description":"Query tree (in the form of a nodeToString() representation) for the rule's action","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-rewrite.html","source_path":"sources/postgresql/14/catalog-pg-rewrite.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_rewrite.h","definition_source_path":"sources/postgresql/14/source/pg_rewrite.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2618,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_rewrite stores rewrite rules for tables and views.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rulename","type":"name","description":"Rule name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_class","type":"oid","description":"The table this rule is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_type","type":"\"char\"","description":"Event type that the rule is for: 1 = SELECT, 2 = UPDATE, 3 = INSERT, 4 = DELETE","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_enabled","type":"\"char\"","description":"Controls in which session_replication_role modes the rule fires. O = rule fires in “origin” and “local” modes, D = rule is disabled, R = rule fires in “replica” mode, A = rule fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"is_instead","type":"boolean","description":"True if the rule is an INSTEAD rule","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_qual","type":"pg_node_tree","description":"Expression tree (in the form of a nodeToString() representation) for the rule's qualifying condition","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_action","type":"pg_node_tree","description":"Query tree (in the form of a nodeToString() representation) for the rule's action","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-rewrite.html","source_path":"sources/postgresql/15/catalog-pg-rewrite.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_rewrite.h","definition_source_path":"sources/postgresql/15/source/pg_rewrite.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2618,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_rewrite stores rewrite rules for tables and views.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rulename","type":"name","description":"Rule name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_class","type":"oid","description":"The table this rule is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_type","type":"\"char\"","description":"Event type that the rule is for: 1 = SELECT, 2 = UPDATE, 3 = INSERT, 4 = DELETE","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_enabled","type":"\"char\"","description":"Controls in which session_replication_role modes the rule fires. O = rule fires in “origin” and “local” modes, D = rule is disabled, R = rule fires in “replica” mode, A = rule fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"is_instead","type":"boolean","description":"True if the rule is an INSTEAD rule","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_qual","type":"pg_node_tree","description":"Expression tree (in the form of a nodeToString() representation) for the rule's qualifying condition","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_action","type":"pg_node_tree","description":"Query tree (in the form of a nodeToString() representation) for the rule's action","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-rewrite.html","source_path":"sources/postgresql/16/catalog-pg-rewrite.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_rewrite.h","definition_source_path":"sources/postgresql/16/source/pg_rewrite.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2618,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_rewrite stores rewrite rules for tables and views.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rulename","type":"name","description":"Rule name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_class","type":"oid","description":"The table this rule is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_type","type":"\"char\"","description":"Event type that the rule is for: 1 = SELECT, 2 = UPDATE, 3 = INSERT, 4 = DELETE","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_enabled","type":"\"char\"","description":"Controls in which session_replication_role modes the rule fires. O = rule fires in “origin” and “local” modes, D = rule is disabled, R = rule fires in “replica” mode, A = rule fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"is_instead","type":"boolean","description":"True if the rule is an INSTEAD rule","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_qual","type":"pg_node_tree","description":"Expression tree (in the form of a nodeToString() representation) for the rule's qualifying condition","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_action","type":"pg_node_tree","description":"Query tree (in the form of a nodeToString() representation) for the rule's action","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-rewrite.html","source_path":"sources/postgresql/17/catalog-pg-rewrite.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_rewrite.h","definition_source_path":"sources/postgresql/17/source/pg_rewrite.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2618,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_rewrite stores rewrite rules for tables and views.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rulename","type":"name","description":"Rule name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_class","type":"oid","description":"The table this rule is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_type","type":"\"char\"","description":"Event type that the rule is for: 1 = SELECT, 2 = UPDATE, 3 = INSERT, 4 = DELETE","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_enabled","type":"\"char\"","description":"Controls in which session_replication_role modes the rule fires. O = rule fires in “origin” and “local” modes, D = rule is disabled, R = rule fires in “replica” mode, A = rule fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"is_instead","type":"boolean","description":"True if the rule is an INSTEAD rule","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_qual","type":"pg_node_tree","description":"Expression tree (in the form of a nodeToString() representation) for the rule's qualifying condition","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_action","type":"pg_node_tree","description":"Query tree (in the form of a nodeToString() representation) for the rule's action","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-rewrite.html","source_path":"sources/postgresql/18/catalog-pg-rewrite.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_rewrite.h","definition_source_path":"sources/postgresql/18/source/pg_rewrite.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2618,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_rewrite stores rewrite rules for tables and views.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"rulename","type":"name","description":"Rule name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_class","type":"oid","description":"The table this rule is for","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_type","type":"\"char\"","description":"Event type that the rule is for: 1 = SELECT, 2 = UPDATE, 3 = INSERT, 4 = DELETE","documented_type":"char","hidden":false,"type_oid":18,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_enabled","type":"\"char\"","description":"Controls in which session_replication_role modes the rule fires. O = rule fires in “origin” and “local” modes, D = rule is disabled, R = rule fires in “replica” mode, A = rule fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"is_instead","type":"boolean","description":"True if the rule is an INSTEAD rule","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_qual","type":"pg_node_tree","description":"Expression tree (in the form of a nodeToString() representation) for the rule's qualifying condition","hidden":false,"type_oid":194,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"ev_action","type":"pg_node_tree","description":"Query tree (in the form of a nodeToString() representation) for the rule's action","hidden":false,"type_oid":194,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-rewrite.html","source_path":"sources/postgresql/19/catalog-pg-rewrite.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_rewrite.h","definition_source_path":"sources/postgresql/19/source/pg_rewrite.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2618,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[{"name":"ev_action","from":"text","to":"pg_node_tree"},{"name":"ev_qual","from":"text","to":"pg_node_tree"}],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.3","to":"9.4","status":"changed","added_columns":[],"removed_columns":[{"name":"ev_attr","type":"smallint","description":"The column this rule is for (currently, always -1 to indicate the whole table)","documented_type":"int2","hidden":false,"type_oid":21,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"ev_enabled","from":"Controls in which session_replication_role modes the rule fires. O = rule fires in \"origin\" and \"local\" modes, D = rule is disabled, R = rule fires in \"replica\" mode, A = rule fires always.","to":"Controls in which session_replication_role modes the rule fires. O = rule fires in “origin” and “local” modes, D = rule is disabled, R = rule fires in “replica” mode, A = rule fires always."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"ev_action","attribute":"not_null","from":false,"to":true},{"name":"ev_qual","attribute":"not_null","from":false,"to":true},{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_roles","kind":"view","summary":"The view pg_roles provides access to information about database roles. This is simply a publicly readable view of pg_authid that blanks out the password field.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The view pg_roles provides access to information about database roles. This is simply a publicly readable view of pg_authid that blanks out the password field.\n\nThis view explicitly exposes the OID column of the underlying table, since that is needed to do joins to other catalogs.","columns":[{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcatupdate","type":"boolean","description":"Role can update system catalogs directly. (Even a superuser cannot do this unless this column is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolpassword","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconfig","type":"text[]","description":"Role-specific defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"oid","type":"oid","description":"ID of role","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/view-pg-roles.html","source_path":"sources/postgresql/9.0/view-pg-roles.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10954,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The view pg_roles provides access to information about database roles. This is simply a publicly readable view of pg_authid that blanks out the password field.\n\nThis view explicitly exposes the OID column of the underlying table, since that is needed to do joins to other catalogs.","columns":[{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcatupdate","type":"boolean","description":"Role can update system catalogs directly. (Even a superuser cannot do this unless this column is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. That is, this role can initiate streaming replication (see Section 25.2.5) and set/unset the system backup mode using pg_start_backup and pg_stop_backup","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolpassword","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconfig","type":"text[]","description":"Role-specific defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"oid","type":"oid","description":"ID of role","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/view-pg-roles.html","source_path":"sources/postgresql/9.1/view-pg-roles.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10969,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The view pg_roles provides access to information about database roles. This is simply a publicly readable view of pg_authid that blanks out the password field.\n\nThis view explicitly exposes the OID column of the underlying table, since that is needed to do joins to other catalogs.","columns":[{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcatupdate","type":"boolean","description":"Role can update system catalogs directly. (Even a superuser cannot do this unless this column is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. That is, this role can initiate streaming replication (see Section 25.2.5) and set/unset the system backup mode using pg_start_backup and pg_stop_backup","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolpassword","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconfig","type":"text[]","description":"Role-specific defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"oid","type":"oid","description":"ID of role","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/view-pg-roles.html","source_path":"sources/postgresql/9.2/view-pg-roles.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11037,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The view pg_roles provides access to information about database roles. This is simply a publicly readable view of pg_authid that blanks out the password field.\n\nThis view explicitly exposes the OID column of the underlying table, since that is needed to do joins to other catalogs.","columns":[{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcatupdate","type":"boolean","description":"Role can update system catalogs directly. (Even a superuser cannot do this unless this column is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. That is, this role can initiate streaming replication (see Section 25.2.5) and set/unset the system backup mode using pg_start_backup and pg_stop_backup","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolpassword","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconfig","type":"text[]","description":"Role-specific defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"oid","type":"oid","description":"ID of role","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-roles.html","source_path":"sources/postgresql/9.3/view-pg-roles.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11054,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The view pg_roles provides access to information about database roles. This is simply a publicly readable view of pg_authid that blanks out the password field.\n\nThis view explicitly exposes the OID column of the underlying table, since that is needed to do joins to other catalogs.","columns":[{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcatupdate","type":"boolean","description":"Role can update system catalogs directly. (Even a superuser cannot do this unless this column is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. That is, this role can initiate streaming replication (see Section 25.2.5) and set/unset the system backup mode using pg_start_backup and pg_stop_backup","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolpassword","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconfig","type":"text[]","description":"Role-specific defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"oid","type":"oid","description":"ID of role","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-roles.html","source_path":"sources/postgresql/9.4/view-pg-roles.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11150,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The view pg_roles provides access to information about database roles. This is simply a publicly readable view of pg_authid that blanks out the password field.\n\nThis view explicitly exposes the OID column of the underlying table, since that is needed to do joins to other catalogs.","columns":[{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. That is, this role can initiate streaming replication (see Section 25.2.5) and set/unset the system backup mode using pg_start_backup and pg_stop_backup","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolpassword","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row level security policy, see Section 5.7 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconfig","type":"text[]","description":"Role-specific defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"oid","type":"oid","description":"ID of role","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-roles.html","source_path":"sources/postgresql/9.5/view-pg-roles.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11631,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The view pg_roles provides access to information about database roles. This is simply a publicly readable view of pg_authid that blanks out the password field.\n\nThis view explicitly exposes the OID column of the underlying table, since that is needed to do joins to other catalogs.","columns":[{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolpassword","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row level security policy, see Section 5.7 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconfig","type":"text[]","description":"Role-specific defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"oid","type":"oid","description":"ID of role","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-roles.html","source_path":"sources/postgresql/9.6/view-pg-roles.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11654,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The view pg_roles provides access to information about database roles. This is simply a publicly readable view of pg_authid that blanks out the password field.\n\nThis view explicitly exposes the OID column of the underlying table, since that is needed to do joins to other catalogs.","columns":[{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolpassword","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row level security policy, see Section 5.7 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconfig","type":"text[]","description":"Role-specific defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"oid","type":"oid","description":"ID of role","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-roles.html","source_path":"sources/postgresql/10/view-pg-roles.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11527,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_roles provides access to information about database roles. This is simply a publicly readable view of pg_authid that blanks out the password field.\n\nThis view explicitly exposes the OID column of the underlying table, since that is needed to do joins to other catalogs.","columns":[{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolpassword","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row level security policy, see Section 5.7 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconfig","type":"text[]","description":"Role-specific defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"oid","type":"oid","description":"ID of role","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-roles.html","source_path":"sources/postgresql/11/view-pg-roles.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11595,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_roles provides access to information about database roles. This is simply a publicly readable view of pg_authid that blanks out the password field.","columns":[{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolpassword","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row level security policy, see Section 5.8 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconfig","type":"text[]","description":"Role-specific defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"oid","type":"oid","description":"ID of role","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-roles.html","source_path":"sources/postgresql/12/view-pg-roles.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12089,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_roles provides access to information about database roles. This is simply a publicly readable view of pg_authid that blanks out the password field.","columns":[{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolpassword","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row level security policy, see Section 5.8 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconfig","type":"text[]","description":"Role-specific defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"oid","type":"oid","description":"ID of role","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-roles.html","source_path":"sources/postgresql/13/view-pg-roles.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12087,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_roles provides access to information about database roles. This is simply a publicly readable view of pg_authid that blanks out the password field.","columns":[{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolpassword","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row-level security policy, see Section 5.8 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconfig","type":"text[]","description":"Role-specific defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"oid","type":"oid","description":"ID of role","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-roles.html","source_path":"sources/postgresql/14/view-pg-roles.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12217,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_roles provides access to information about database roles. This is simply a publicly readable view of pg_authid that blanks out the password field.","columns":[{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolpassword","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row-level security policy, see Section 5.8 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconfig","type":"text[]","description":"Role-specific defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"oid","type":"oid","description":"ID of role","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-roles.html","source_path":"sources/postgresql/15/view-pg-roles.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12000,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_roles provides access to information about database roles. This is simply a publicly readable view of pg_authid that blanks out the password field.","columns":[{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolpassword","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row-level security policy, see Section 5.8 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconfig","type":"text[]","description":"Role-specific defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"oid","type":"oid","description":"ID of role","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-roles.html","source_path":"sources/postgresql/16/view-pg-roles.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12000,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_roles provides access to information about database roles. This is simply a publicly readable view of pg_authid that blanks out the password field.","columns":[{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolpassword","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row-level security policy, see Section 5.9 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconfig","type":"text[]","description":"Role-specific defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"oid","type":"oid","description":"ID of role","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-roles.html","source_path":"sources/postgresql/17/view-pg-roles.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12000,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_roles provides access to information about database roles. This is simply a publicly readable view of pg_authid that blanks out the password field.","columns":[{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolpassword","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row-level security policy, see Section 5.9 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconfig","type":"text[]","description":"Role-specific defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"oid","type":"oid","description":"ID of role","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-roles.html","source_path":"sources/postgresql/18/view-pg-roles.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12000,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_roles provides access to information about database roles. This is simply a publicly readable view of pg_authid that blanks out the password field.","columns":[{"name":"rolname","type":"name","description":"Role name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolsuper","type":"boolean","description":"Role has superuser privileges","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolinherit","type":"boolean","description":"Role automatically inherits privileges of roles it is a member of","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreaterole","type":"boolean","description":"Role can create more roles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcreatedb","type":"boolean","description":"Role can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolcanlogin","type":"boolean","description":"Role can log in. That is, this role can be given as the initial session authorization identifier","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolreplication","type":"boolean","description":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconnlimit","type":"integer","description":"For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolpassword","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolvaliduntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication); null if no expiration","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row-level security policy, see Section 5.10 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rolconfig","type":"text[]","description":"Role-specific defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"oid","type":"oid","description":"ID of role","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-roles.html","source_path":"sources/postgresql/19/view-pg-roles.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12000,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[{"name":"rolreplication","type":"boolean","description":"Role is a replication role. That is, this role can initiate streaming replication (see Section 25.2.5) and set/unset the system backup mode using pg_start_backup and pg_stop_backup","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.4","to":"9.5","status":"changed","added_columns":[{"name":"rolbypassrls","type":"boolean","description":"Role bypasses every row level security policy, see Section 5.7 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[{"name":"rolcatupdate","type":"boolean","description":"Role can update system catalogs directly. (Even a superuser cannot do this unless this column is true)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"rolreplication","from":"Role is a replication role. That is, this role can initiate streaming replication (see Section 25.2.5) and set/unset the system backup mode using pg_start_backup and pg_stop_backup","to":"Role is a replication role. A replication role can initiate replication connections and create and drop replication slots."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"rolbypassrls","from":"Role bypasses every row level security policy, see Section 5.7 for more information.","to":"Role bypasses every row level security policy, see Section 5.8 for more information."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"rolbypassrls","from":"Role bypasses every row level security policy, see Section 5.8 for more information.","to":"Role bypasses every row-level security policy, see Section 5.8 for more information."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"rolbypassrls","from":"Role bypasses every row-level security policy, see Section 5.8 for more information.","to":"Role bypasses every row-level security policy, see Section 5.9 for more information."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"rolbypassrls","from":"Role bypasses every row-level security policy, see Section 5.9 for more information.","to":"Role bypasses every row-level security policy, see Section 5.10 for more information."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_rules","kind":"view","summary":"The view pg_rules provides access to useful information about query rewrite rules.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The view pg_rules provides access to useful information about query rewrite rules.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the rule is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rulename","type":"name","description":"Name of rule","references":"pg_rewrite.rulename","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Rule definition (a reconstructed creation command)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/view-pg-rules.html","source_path":"sources/postgresql/9.0/view-pg-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10966,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The view pg_rules provides access to useful information about query rewrite rules.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the rule is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rulename","type":"name","description":"Name of rule","references":"pg_rewrite.rulename","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Rule definition (a reconstructed creation command)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/view-pg-rules.html","source_path":"sources/postgresql/9.1/view-pg-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10981,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The view pg_rules provides access to useful information about query rewrite rules.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the rule is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rulename","type":"name","description":"Name of rule","references":"pg_rewrite.rulename","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Rule definition (a reconstructed creation command)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/view-pg-rules.html","source_path":"sources/postgresql/9.2/view-pg-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11049,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The view pg_rules provides access to useful information about query rewrite rules.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the rule is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rulename","type":"name","description":"Name of rule","references":"pg_rewrite.rulename","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Rule definition (a reconstructed creation command)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-rules.html","source_path":"sources/postgresql/9.3/view-pg-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11066,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The view pg_rules provides access to useful information about query rewrite rules.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the rule is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rulename","type":"name","description":"Name of rule","references":"pg_rewrite.rulename","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Rule definition (a reconstructed creation command)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-rules.html","source_path":"sources/postgresql/9.4/view-pg-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11163,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The view pg_rules provides access to useful information about query rewrite rules.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the rule is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rulename","type":"name","description":"Name of rule","references":"pg_rewrite.rulename","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Rule definition (a reconstructed creation command)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-rules.html","source_path":"sources/postgresql/9.5/view-pg-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11649,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The view pg_rules provides access to useful information about query rewrite rules.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the rule is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rulename","type":"name","description":"Name of rule","references":"pg_rewrite.rulename","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Rule definition (a reconstructed creation command)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-rules.html","source_path":"sources/postgresql/9.6/view-pg-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11671,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The view pg_rules provides access to useful information about query rewrite rules.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the rule is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rulename","type":"name","description":"Name of rule","references":"pg_rewrite.rulename","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Rule definition (a reconstructed creation command)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-rules.html","source_path":"sources/postgresql/10/view-pg-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11545,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_rules provides access to useful information about query rewrite rules.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the rule is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rulename","type":"name","description":"Name of rule","references":"pg_rewrite.rulename","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Rule definition (a reconstructed creation command)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-rules.html","source_path":"sources/postgresql/11/view-pg-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11613,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_rules provides access to useful information about query rewrite rules.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the rule is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rulename","type":"name","description":"Name of rule","references":"pg_rewrite.rulename","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Rule definition (a reconstructed creation command)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-rules.html","source_path":"sources/postgresql/12/view-pg-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12107,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_rules provides access to useful information about query rewrite rules.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the rule is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rulename","type":"name","description":"Name of rule","references":"pg_rewrite.rulename","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Rule definition (a reconstructed creation command)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-rules.html","source_path":"sources/postgresql/13/view-pg-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12105,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_rules provides access to useful information about query rewrite rules.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the rule is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rulename","type":"name","description":"Name of rule","references":"pg_rewrite.rulename","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Rule definition (a reconstructed creation command)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-rules.html","source_path":"sources/postgresql/14/view-pg-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12240,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_rules provides access to useful information about query rewrite rules.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the rule is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rulename","type":"name","description":"Name of rule","references":"pg_rewrite.rulename","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Rule definition (a reconstructed creation command)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-rules.html","source_path":"sources/postgresql/15/view-pg-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12023,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_rules provides access to useful information about query rewrite rules.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the rule is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rulename","type":"name","description":"Name of rule","references":"pg_rewrite.rulename","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Rule definition (a reconstructed creation command)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-rules.html","source_path":"sources/postgresql/16/view-pg-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12023,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_rules provides access to useful information about query rewrite rules.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the rule is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rulename","type":"name","description":"Name of rule","references":"pg_rewrite.rulename","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Rule definition (a reconstructed creation command)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-rules.html","source_path":"sources/postgresql/17/view-pg-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12023,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_rules provides access to useful information about query rewrite rules.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the rule is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rulename","type":"name","description":"Name of rule","references":"pg_rewrite.rulename","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Rule definition (a reconstructed creation command)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-rules.html","source_path":"sources/postgresql/18/view-pg-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12023,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_rules provides access to useful information about query rewrite rules.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the rule is for","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rulename","type":"name","description":"Name of rule","references":"pg_rewrite.rulename","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"Rule definition (a reconstructed creation command)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-rules.html","source_path":"sources/postgresql/19/view-pg-rules.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12023,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[]},{"name":"pg_seclabel","kind":"catalog","summary":"security labels on database objects","first_version":"9.1","last_version":"19","versions":{"9.1":{"description":"The catalog pg_seclabel stores security labels on database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 45.61.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-seclabel.html","source_path":"sources/postgresql/9.1/catalog-pg-seclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_seclabel.h","definition_source_path":"sources/postgresql/9.1/source/pg_seclabel.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3596,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_seclabel stores security labels on database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 45.63.\n\nSee also pg_shseclabel, which performs a similar function for security labels of database objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-seclabel.html","source_path":"sources/postgresql/9.2/catalog-pg-seclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_seclabel.h","definition_source_path":"sources/postgresql/9.2/source/pg_seclabel.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3596,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_seclabel stores security labels on database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 47.65.\n\nSee also pg_shseclabel, which performs a similar function for security labels of database objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-seclabel.html","source_path":"sources/postgresql/9.3/catalog-pg-seclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_seclabel.h","definition_source_path":"sources/postgresql/9.3/source/pg_seclabel.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3596,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_seclabel stores security labels on database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 48.66.\n\nSee also pg_shseclabel, which performs a similar function for security labels of database objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-seclabel.html","source_path":"sources/postgresql/9.4/catalog-pg-seclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_seclabel.h","definition_source_path":"sources/postgresql/9.4/source/pg_seclabel.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3596,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_seclabel stores security labels on database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 49.72.\n\nSee also pg_shseclabel, which performs a similar function for security labels of database objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-seclabel.html","source_path":"sources/postgresql/9.5/catalog-pg-seclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_seclabel.h","definition_source_path":"sources/postgresql/9.5/source/pg_seclabel.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3596,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_seclabel stores security labels on database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 50.74.\n\nSee also pg_shseclabel, which performs a similar function for security labels of database objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-seclabel.html","source_path":"sources/postgresql/9.6/catalog-pg-seclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_seclabel.h","definition_source_path":"sources/postgresql/9.6/source/pg_seclabel.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3596,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_seclabel stores security labels on database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 51.83.\n\nSee also pg_shseclabel, which performs a similar function for security labels of database objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-seclabel.html","source_path":"sources/postgresql/10/catalog-pg-seclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_seclabel.h","definition_source_path":"sources/postgresql/10/source/pg_seclabel.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3596,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_seclabel stores security labels on database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 52.83.\n\nSee also pg_shseclabel, which performs a similar function for security labels of database objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-seclabel.html","source_path":"sources/postgresql/11/catalog-pg-seclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_seclabel.h","definition_source_path":"sources/postgresql/11/source/pg_seclabel.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3596,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_seclabel stores security labels on database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 51.84.\n\nSee also pg_shseclabel, which performs a similar function for security labels of database objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-seclabel.html","source_path":"sources/postgresql/12/catalog-pg-seclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_seclabel.h","definition_source_path":"sources/postgresql/12/source/pg_seclabel.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3596,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_seclabel stores security labels on database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 51.83.\n\nSee also pg_shseclabel, which performs a similar function for security labels of database objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-seclabel.html","source_path":"sources/postgresql/13/catalog-pg-seclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_seclabel.h","definition_source_path":"sources/postgresql/13/source/pg_seclabel.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3596,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_seclabel stores security labels on database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 52.84.\n\nSee also pg_shseclabel, which performs a similar function for security labels of database objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-seclabel.html","source_path":"sources/postgresql/14/catalog-pg-seclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_seclabel.h","definition_source_path":"sources/postgresql/14/source/pg_seclabel.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3596,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_seclabel stores security labels on database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 54.22.\n\nSee also pg_shseclabel, which performs a similar function for security labels of database objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-seclabel.html","source_path":"sources/postgresql/15/catalog-pg-seclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_seclabel.h","definition_source_path":"sources/postgresql/15/source/pg_seclabel.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3596,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_seclabel stores security labels on database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 54.22.\n\nSee also pg_shseclabel, which performs a similar function for security labels of database objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-seclabel.html","source_path":"sources/postgresql/16/catalog-pg-seclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_seclabel.h","definition_source_path":"sources/postgresql/16/source/pg_seclabel.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3596,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_seclabel stores security labels on database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 52.22.\n\nSee also pg_shseclabel, which performs a similar function for security labels of database objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-seclabel.html","source_path":"sources/postgresql/17/catalog-pg-seclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_seclabel.h","definition_source_path":"sources/postgresql/17/source/pg_seclabel.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3596,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_seclabel stores security labels on database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 53.23.\n\nSee also pg_shseclabel, which performs a similar function for security labels of database objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-seclabel.html","source_path":"sources/postgresql/18/catalog-pg-seclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_seclabel.h","definition_source_path":"sources/postgresql/18/source/pg_seclabel.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3596,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_seclabel stores security labels on database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 53.25.\n\nSee also pg_shseclabel, which performs a similar function for security labels of database objects that are shared across a database cluster.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-seclabel.html","source_path":"sources/postgresql/19/catalog-pg-seclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_seclabel.h","definition_source_path":"sources/postgresql/19/source/pg_seclabel.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3596,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"added","added_columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.3","to":"9.4","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[{"name":"label","attribute":"not_null","from":false,"to":true},{"name":"provider","attribute":"not_null","from":false,"to":true}],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"10","to":"11","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"17","to":"18","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_seclabels","kind":"view","summary":"The view pg_seclabels provides information about security labels. It as an easier-to-query version of the pg_seclabel catalog.","first_version":"9.1","last_version":"19","versions":{"9.1":{"description":"The view pg_seclabels provides information about security labels. It as an easier-to-query version of the pg_seclabel catalog.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objtype","type":"text","description":"The type of object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objnamespace","type":"oid","description":"The OID of the namespace for this object, if applicable; otherwise NULL.","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objname","type":"text","description":"The name of the object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"provider","type":"text","description":"The label provider associated with this label.","references":"pg_seclabel.provider","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","references":"pg_seclabel.label","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/view-pg-seclabels.html","source_path":"sources/postgresql/9.1/view-pg-seclabels.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11019,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The view pg_seclabels provides information about security labels. It as an easier-to-query version of the pg_seclabel catalog.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objtype","type":"text","description":"The type of object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objnamespace","type":"oid","description":"The OID of the namespace for this object, if applicable; otherwise NULL.","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objname","type":"text","description":"The name of the object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"provider","type":"text","description":"The label provider associated with this label.","references":"pg_seclabel.provider","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","references":"pg_seclabel.label","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/view-pg-seclabels.html","source_path":"sources/postgresql/9.2/view-pg-seclabels.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11088,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The view pg_seclabels provides information about security labels. It as an easier-to-query version of the pg_seclabel catalog.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objtype","type":"text","description":"The type of object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objnamespace","type":"oid","description":"The OID of the namespace for this object, if applicable; otherwise NULL.","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objname","type":"text","description":"The name of the object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"provider","type":"text","description":"The label provider associated with this label.","references":"pg_seclabel.provider","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","references":"pg_seclabel.label","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-seclabels.html","source_path":"sources/postgresql/9.3/view-pg-seclabels.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11109,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The view pg_seclabels provides information about security labels. It as an easier-to-query version of the pg_seclabel catalog.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objtype","type":"text","description":"The type of object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objnamespace","type":"oid","description":"The OID of the namespace for this object, if applicable; otherwise NULL.","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objname","type":"text","description":"The name of the object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"provider","type":"text","description":"The label provider associated with this label.","references":"pg_seclabel.provider","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","references":"pg_seclabel.label","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-seclabels.html","source_path":"sources/postgresql/9.4/view-pg-seclabels.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11206,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The view pg_seclabels provides information about security labels. It as an easier-to-query version of the pg_seclabel catalog.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objtype","type":"text","description":"The type of object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objnamespace","type":"oid","description":"The OID of the namespace for this object, if applicable; otherwise NULL.","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objname","type":"text","description":"The name of the object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"provider","type":"text","description":"The label provider associated with this label.","references":"pg_seclabel.provider","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","references":"pg_seclabel.label","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-seclabels.html","source_path":"sources/postgresql/9.5/view-pg-seclabels.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11692,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The view pg_seclabels provides information about security labels. It as an easier-to-query version of the pg_seclabel catalog.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objtype","type":"text","description":"The type of object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objnamespace","type":"oid","description":"The OID of the namespace for this object, if applicable; otherwise NULL.","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objname","type":"text","description":"The name of the object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"provider","type":"text","description":"The label provider associated with this label.","references":"pg_seclabel.provider","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","references":"pg_seclabel.label","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-seclabels.html","source_path":"sources/postgresql/9.6/view-pg-seclabels.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11714,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The view pg_seclabels provides information about security labels. It as an easier-to-query version of the pg_seclabel catalog.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objtype","type":"text","description":"The type of object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objnamespace","type":"oid","description":"The OID of the namespace for this object, if applicable; otherwise NULL.","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objname","type":"text","description":"The name of the object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"provider","type":"text","description":"The label provider associated with this label.","references":"pg_seclabel.provider","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","references":"pg_seclabel.label","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-seclabels.html","source_path":"sources/postgresql/10/view-pg-seclabels.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11596,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_seclabels provides information about security labels. It as an easier-to-query version of the pg_seclabel catalog.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objtype","type":"text","description":"The type of object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objnamespace","type":"oid","description":"The OID of the namespace for this object, if applicable; otherwise NULL.","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objname","type":"text","description":"The name of the object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"provider","type":"text","description":"The label provider associated with this label.","references":"pg_seclabel.provider","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","references":"pg_seclabel.label","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-seclabels.html","source_path":"sources/postgresql/11/view-pg-seclabels.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11664,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_seclabels provides information about security labels. It as an easier-to-query version of the pg_seclabel catalog.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objtype","type":"text","description":"The type of object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objnamespace","type":"oid","description":"The OID of the namespace for this object, if applicable; otherwise NULL.","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objname","type":"text","description":"The name of the object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"provider","type":"text","description":"The label provider associated with this label.","references":"pg_seclabel.provider","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","references":"pg_seclabel.label","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-seclabels.html","source_path":"sources/postgresql/12/view-pg-seclabels.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12162,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_seclabels provides information about security labels. It as an easier-to-query version of the pg_seclabel catalog.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objtype","type":"text","description":"The type of object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objnamespace","type":"oid","description":"The OID of the namespace for this object, if applicable; otherwise NULL.","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objname","type":"text","description":"The name of the object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"provider","type":"text","description":"The label provider associated with this label.","references":"pg_seclabel.provider","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","references":"pg_seclabel.label","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-seclabels.html","source_path":"sources/postgresql/13/view-pg-seclabels.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12161,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_seclabels provides information about security labels. It as an easier-to-query version of the pg_seclabel catalog.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objtype","type":"text","description":"The type of object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objnamespace","type":"oid","description":"The OID of the namespace for this object, if applicable; otherwise NULL.","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objname","type":"text","description":"The name of the object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"provider","type":"text","description":"The label provider associated with this label.","references":"pg_seclabel.provider","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","references":"pg_seclabel.label","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-seclabels.html","source_path":"sources/postgresql/14/view-pg-seclabels.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12316,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_seclabels provides information about security labels. It as an easier-to-query version of the pg_seclabel catalog.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objtype","type":"text","description":"The type of object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objnamespace","type":"oid","description":"The OID of the namespace for this object, if applicable; otherwise NULL.","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objname","type":"text","description":"The name of the object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"provider","type":"text","description":"The label provider associated with this label.","references":"pg_seclabel.provider","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","references":"pg_seclabel.label","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-seclabels.html","source_path":"sources/postgresql/15/view-pg-seclabels.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12099,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_seclabels provides information about security labels. It as an easier-to-query version of the pg_seclabel catalog.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objtype","type":"text","description":"The type of object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objnamespace","type":"oid","description":"The OID of the namespace for this object, if applicable; otherwise NULL.","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objname","type":"text","description":"The name of the object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"provider","type":"text","description":"The label provider associated with this label.","references":"pg_seclabel.provider","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","references":"pg_seclabel.label","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-seclabels.html","source_path":"sources/postgresql/16/view-pg-seclabels.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12099,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_seclabels provides information about security labels. It as an easier-to-query version of the pg_seclabel catalog.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objtype","type":"text","description":"The type of object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objnamespace","type":"oid","description":"The OID of the namespace for this object, if applicable; otherwise NULL.","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objname","type":"text","description":"The name of the object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"provider","type":"text","description":"The label provider associated with this label.","references":"pg_seclabel.provider","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","references":"pg_seclabel.label","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-seclabels.html","source_path":"sources/postgresql/17/view-pg-seclabels.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12099,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_seclabels provides information about security labels. It as an easier-to-query version of the pg_seclabel catalog.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objtype","type":"text","description":"The type of object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objnamespace","type":"oid","description":"The OID of the namespace for this object, if applicable; otherwise NULL.","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objname","type":"text","description":"The name of the object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"provider","type":"text","description":"The label provider associated with this label.","references":"pg_seclabel.provider","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","references":"pg_seclabel.label","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-seclabels.html","source_path":"sources/postgresql/18/view-pg-seclabels.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12099,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_seclabels provides information about security labels. It as an easier-to-query version of the pg_seclabel catalog.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objtype","type":"text","description":"The type of object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objnamespace","type":"oid","description":"The OID of the namespace for this object, if applicable; otherwise NULL.","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objname","type":"text","description":"The name of the object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"provider","type":"text","description":"The label provider associated with this label.","references":"pg_seclabel.provider","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","references":"pg_seclabel.label","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-seclabels.html","source_path":"sources/postgresql/19/view-pg-seclabels.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12104,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"added","added_columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objsubid","type":"integer","description":"For a security label on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objtype","type":"text","description":"The type of object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objnamespace","type":"oid","description":"The OID of the namespace for this object, if applicable; otherwise NULL.","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"objname","type":"text","description":"The name of the object to which this label applies, as text.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"provider","type":"text","description":"The label provider associated with this label.","references":"pg_seclabel.provider","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","references":"pg_seclabel.label","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_sequence","kind":"catalog","summary":"information about sequences","first_version":"10","last_version":"19","versions":{"10":{"description":"The catalog pg_sequence contains information about sequences. Some of the information about sequences, such as the name and the schema, is in pg_class.","columns":[{"name":"seqrelid","type":"oid","description":"The OID of the pg_class entry for this sequence","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqtypid","type":"oid","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqstart","type":"bigint","description":"Start value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqincrement","type":"bigint","description":"Increment value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmax","type":"bigint","description":"Maximum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmin","type":"bigint","description":"Minimum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcache","type":"bigint","description":"Cache size of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcycle","type":"boolean","description":"Whether the sequence cycles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-sequence.html","source_path":"sources/postgresql/10/catalog-pg-sequence.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_sequence.h","definition_source_path":"sources/postgresql/10/source/pg_sequence.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2224,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_sequence contains information about sequences. Some of the information about sequences, such as the name and the schema, is in pg_class.","columns":[{"name":"seqrelid","type":"oid","description":"The OID of the pg_class entry for this sequence","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqtypid","type":"oid","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqstart","type":"bigint","description":"Start value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqincrement","type":"bigint","description":"Increment value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmax","type":"bigint","description":"Maximum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmin","type":"bigint","description":"Minimum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcache","type":"bigint","description":"Cache size of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcycle","type":"boolean","description":"Whether the sequence cycles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-sequence.html","source_path":"sources/postgresql/11/catalog-pg-sequence.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_sequence.h","definition_source_path":"sources/postgresql/11/source/pg_sequence.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2224,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_sequence contains information about sequences. Some of the information about sequences, such as the name and the schema, is in pg_class.","columns":[{"name":"seqrelid","type":"oid","description":"The OID of the pg_class entry for this sequence","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqtypid","type":"oid","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqstart","type":"bigint","description":"Start value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqincrement","type":"bigint","description":"Increment value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmax","type":"bigint","description":"Maximum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmin","type":"bigint","description":"Minimum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcache","type":"bigint","description":"Cache size of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcycle","type":"boolean","description":"Whether the sequence cycles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-sequence.html","source_path":"sources/postgresql/12/catalog-pg-sequence.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_sequence.h","definition_source_path":"sources/postgresql/12/source/pg_sequence.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2224,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_sequence contains information about sequences. Some of the information about sequences, such as the name and the schema, is in pg_class.","columns":[{"name":"seqrelid","type":"oid","description":"The OID of the pg_class entry for this sequence","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqtypid","type":"oid","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqstart","type":"bigint","description":"Start value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqincrement","type":"bigint","description":"Increment value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmax","type":"bigint","description":"Maximum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmin","type":"bigint","description":"Minimum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcache","type":"bigint","description":"Cache size of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcycle","type":"boolean","description":"Whether the sequence cycles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-sequence.html","source_path":"sources/postgresql/13/catalog-pg-sequence.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_sequence.h","definition_source_path":"sources/postgresql/13/source/pg_sequence.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2224,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_sequence contains information about sequences. Some of the information about sequences, such as the name and the schema, is in pg_class","columns":[{"name":"seqrelid","type":"oid","description":"The OID of the pg_class entry for this sequence","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqtypid","type":"oid","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqstart","type":"bigint","description":"Start value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqincrement","type":"bigint","description":"Increment value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmax","type":"bigint","description":"Maximum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmin","type":"bigint","description":"Minimum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcache","type":"bigint","description":"Cache size of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcycle","type":"boolean","description":"Whether the sequence cycles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-sequence.html","source_path":"sources/postgresql/14/catalog-pg-sequence.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_sequence.h","definition_source_path":"sources/postgresql/14/source/pg_sequence.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2224,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_sequence contains information about sequences. Some of the information about sequences, such as the name and the schema, is in pg_class","columns":[{"name":"seqrelid","type":"oid","description":"The OID of the pg_class entry for this sequence","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqtypid","type":"oid","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqstart","type":"bigint","description":"Start value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqincrement","type":"bigint","description":"Increment value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmax","type":"bigint","description":"Maximum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmin","type":"bigint","description":"Minimum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcache","type":"bigint","description":"Cache size of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcycle","type":"boolean","description":"Whether the sequence cycles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-sequence.html","source_path":"sources/postgresql/15/catalog-pg-sequence.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_sequence.h","definition_source_path":"sources/postgresql/15/source/pg_sequence.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2224,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_sequence contains information about sequences. Some of the information about sequences, such as the name and the schema, is in pg_class","columns":[{"name":"seqrelid","type":"oid","description":"The OID of the pg_class entry for this sequence","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqtypid","type":"oid","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqstart","type":"bigint","description":"Start value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqincrement","type":"bigint","description":"Increment value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmax","type":"bigint","description":"Maximum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmin","type":"bigint","description":"Minimum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcache","type":"bigint","description":"Cache size of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcycle","type":"boolean","description":"Whether the sequence cycles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-sequence.html","source_path":"sources/postgresql/16/catalog-pg-sequence.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_sequence.h","definition_source_path":"sources/postgresql/16/source/pg_sequence.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2224,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_sequence contains information about sequences. Some of the information about sequences, such as the name and the schema, is in pg_class","columns":[{"name":"seqrelid","type":"oid","description":"The OID of the pg_class entry for this sequence","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqtypid","type":"oid","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqstart","type":"bigint","description":"Start value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqincrement","type":"bigint","description":"Increment value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmax","type":"bigint","description":"Maximum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmin","type":"bigint","description":"Minimum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcache","type":"bigint","description":"Cache size of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcycle","type":"boolean","description":"Whether the sequence cycles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-sequence.html","source_path":"sources/postgresql/17/catalog-pg-sequence.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_sequence.h","definition_source_path":"sources/postgresql/17/source/pg_sequence.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2224,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_sequence contains information about sequences. Some of the information about sequences, such as the name and the schema, is in pg_class","columns":[{"name":"seqrelid","type":"oid","description":"The OID of the pg_class entry for this sequence","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqtypid","type":"oid","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqstart","type":"bigint","description":"Start value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqincrement","type":"bigint","description":"Increment value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmax","type":"bigint","description":"Maximum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmin","type":"bigint","description":"Minimum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcache","type":"bigint","description":"Cache size of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcycle","type":"boolean","description":"Whether the sequence cycles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-sequence.html","source_path":"sources/postgresql/18/catalog-pg-sequence.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_sequence.h","definition_source_path":"sources/postgresql/18/source/pg_sequence.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2224,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_sequence contains information about sequences. Some of the information about sequences, such as the name and the schema, is in pg_class","columns":[{"name":"seqrelid","type":"oid","description":"The OID of the pg_class entry for this sequence","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqtypid","type":"oid","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqstart","type":"bigint","description":"Start value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqincrement","type":"bigint","description":"Increment value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmax","type":"bigint","description":"Maximum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmin","type":"bigint","description":"Minimum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcache","type":"bigint","description":"Cache size of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcycle","type":"boolean","description":"Whether the sequence cycles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-sequence.html","source_path":"sources/postgresql/19/catalog-pg-sequence.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_sequence.h","definition_source_path":"sources/postgresql/19/source/pg_sequence.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":2224,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.6","to":"10","status":"added","added_columns":[{"name":"seqrelid","type":"oid","description":"The OID of the pg_class entry for this sequence","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqtypid","type":"oid","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqstart","type":"bigint","description":"Start value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqincrement","type":"bigint","description":"Increment value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmax","type":"bigint","description":"Maximum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqmin","type":"bigint","description":"Minimum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcache","type":"bigint","description":"Cache size of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"seqcycle","type":"boolean","description":"Whether the sequence cycles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_sequences","kind":"view","summary":"The view pg_sequences provides access to useful information about each sequence in the database.","first_version":"10","last_version":"19","versions":{"10":{"description":"The view pg_sequences provides access to useful information about each sequence in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing sequence","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequencename","type":"name","description":"Name of sequence","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequenceowner","type":"name","description":"Name of sequence's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"data_type","type":"regtype","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":2206,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"start_value","type":"bigint","description":"Start value of the sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_value","type":"bigint","description":"Minimum value of the sequence","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_value","type":"bigint","description":"Maximum value of the sequence","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"increment_by","type":"bigint","description":"Increment value of the sequence","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cycle","type":"boolean","description":"Whether the sequence cycles","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cache_size","type":"bigint","description":"Cache size of the sequence","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_value","type":"bigint","description":"The last sequence value written to disk. If caching is used, this value can be greater than the last value handed out from the sequence. Null if the sequence has not been read from yet. Also, if the current user does not have USAGE or SELECT privilege on the sequence, the value is null.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-sequences.html","source_path":"sources/postgresql/10/view-pg-sequences.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11565,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_sequences provides access to useful information about each sequence in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing sequence","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequencename","type":"name","description":"Name of sequence","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequenceowner","type":"name","description":"Name of sequence's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"data_type","type":"regtype","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":2206,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"start_value","type":"bigint","description":"Start value of the sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_value","type":"bigint","description":"Minimum value of the sequence","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_value","type":"bigint","description":"Maximum value of the sequence","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"increment_by","type":"bigint","description":"Increment value of the sequence","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cycle","type":"boolean","description":"Whether the sequence cycles","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cache_size","type":"bigint","description":"Cache size of the sequence","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_value","type":"bigint","description":"The last sequence value written to disk. If caching is used, this value can be greater than the last value handed out from the sequence. Null if the sequence has not been read from yet. Also, if the current user does not have USAGE or SELECT privilege on the sequence, the value is null.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-sequences.html","source_path":"sources/postgresql/11/view-pg-sequences.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11633,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_sequences provides access to useful information about each sequence in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing sequence","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequencename","type":"name","description":"Name of sequence","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequenceowner","type":"name","description":"Name of sequence's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"data_type","type":"regtype","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":2206,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"start_value","type":"bigint","description":"Start value of the sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_value","type":"bigint","description":"Minimum value of the sequence","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_value","type":"bigint","description":"Maximum value of the sequence","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"increment_by","type":"bigint","description":"Increment value of the sequence","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cycle","type":"boolean","description":"Whether the sequence cycles","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cache_size","type":"bigint","description":"Cache size of the sequence","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_value","type":"bigint","description":"The last sequence value written to disk. If caching is used, this value can be greater than the last value handed out from the sequence. Null if the sequence has not been read from yet. Also, if the current user does not have USAGE or SELECT privilege on the sequence, the value is null.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-sequences.html","source_path":"sources/postgresql/12/view-pg-sequences.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12127,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_sequences provides access to useful information about each sequence in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing sequence","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequencename","type":"name","description":"Name of sequence","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequenceowner","type":"name","description":"Name of sequence's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"data_type","type":"regtype","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":2206,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"start_value","type":"bigint","description":"Start value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_value","type":"bigint","description":"Minimum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_value","type":"bigint","description":"Maximum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"increment_by","type":"bigint","description":"Increment value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cycle","type":"boolean","description":"Whether the sequence cycles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cache_size","type":"bigint","description":"Cache size of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_value","type":"bigint","description":"The last sequence value written to disk. If caching is used, this value can be greater than the last value handed out from the sequence. Null if the sequence has not been read from yet. Also, if the current user does not have USAGE or SELECT privilege on the sequence, the value is null.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-sequences.html","source_path":"sources/postgresql/13/view-pg-sequences.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12125,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_sequences provides access to useful information about each sequence in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing sequence","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequencename","type":"name","description":"Name of sequence","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequenceowner","type":"name","description":"Name of sequence's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"data_type","type":"regtype","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":2206,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"start_value","type":"bigint","description":"Start value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_value","type":"bigint","description":"Minimum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_value","type":"bigint","description":"Maximum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"increment_by","type":"bigint","description":"Increment value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cycle","type":"boolean","description":"Whether the sequence cycles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cache_size","type":"bigint","description":"Cache size of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_value","type":"bigint","description":"The last sequence value written to disk. If caching is used, this value can be greater than the last value handed out from the sequence. Null if the sequence has not been read from yet. Also, if the current user does not have USAGE or SELECT privilege on the sequence, the value is null.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-sequences.html","source_path":"sources/postgresql/14/view-pg-sequences.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12265,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_sequences provides access to useful information about each sequence in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing sequence","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequencename","type":"name","description":"Name of sequence","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequenceowner","type":"name","description":"Name of sequence's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"data_type","type":"regtype","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":2206,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"start_value","type":"bigint","description":"Start value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_value","type":"bigint","description":"Minimum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_value","type":"bigint","description":"Maximum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"increment_by","type":"bigint","description":"Increment value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cycle","type":"boolean","description":"Whether the sequence cycles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cache_size","type":"bigint","description":"Cache size of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_value","type":"bigint","description":"The last sequence value written to disk. If caching is used, this value can be greater than the last value handed out from the sequence.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-sequences.html","source_path":"sources/postgresql/15/view-pg-sequences.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12048,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_sequences provides access to useful information about each sequence in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing sequence","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequencename","type":"name","description":"Name of sequence","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequenceowner","type":"name","description":"Name of sequence's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"data_type","type":"regtype","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":2206,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"start_value","type":"bigint","description":"Start value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_value","type":"bigint","description":"Minimum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_value","type":"bigint","description":"Maximum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"increment_by","type":"bigint","description":"Increment value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cycle","type":"boolean","description":"Whether the sequence cycles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cache_size","type":"bigint","description":"Cache size of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_value","type":"bigint","description":"The last sequence value written to disk. If caching is used, this value can be greater than the last value handed out from the sequence.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-sequences.html","source_path":"sources/postgresql/16/view-pg-sequences.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12048,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_sequences provides access to useful information about each sequence in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing sequence","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequencename","type":"name","description":"Name of sequence","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequenceowner","type":"name","description":"Name of sequence's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"data_type","type":"regtype","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":2206,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"start_value","type":"bigint","description":"Start value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_value","type":"bigint","description":"Minimum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_value","type":"bigint","description":"Maximum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"increment_by","type":"bigint","description":"Increment value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cycle","type":"boolean","description":"Whether the sequence cycles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cache_size","type":"bigint","description":"Cache size of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_value","type":"bigint","description":"The last sequence value written to disk. If caching is used, this value can be greater than the last value handed out from the sequence.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-sequences.html","source_path":"sources/postgresql/17/view-pg-sequences.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12048,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_sequences provides access to useful information about each sequence in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing sequence","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequencename","type":"name","description":"Name of sequence","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequenceowner","type":"name","description":"Name of sequence's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"data_type","type":"regtype","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":2206,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"start_value","type":"bigint","description":"Start value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_value","type":"bigint","description":"Minimum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_value","type":"bigint","description":"Maximum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"increment_by","type":"bigint","description":"Increment value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cycle","type":"boolean","description":"Whether the sequence cycles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cache_size","type":"bigint","description":"Cache size of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_value","type":"bigint","description":"The last sequence value written to disk. If caching is used, this value can be greater than the last value handed out from the sequence.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-sequences.html","source_path":"sources/postgresql/18/view-pg-sequences.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12048,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_sequences provides access to useful information about each sequence in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing sequence","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequencename","type":"name","description":"Name of sequence","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequenceowner","type":"name","description":"Name of sequence's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"data_type","type":"regtype","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":2206,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"start_value","type":"bigint","description":"Start value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_value","type":"bigint","description":"Minimum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_value","type":"bigint","description":"Maximum value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"increment_by","type":"bigint","description":"Increment value of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cycle","type":"boolean","description":"Whether the sequence cycles","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cache_size","type":"bigint","description":"Cache size of the sequence","documented_type":"int8","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_value","type":"bigint","description":"The last sequence value written to disk. If caching is used, this value can be greater than the last value handed out from the sequence.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-sequences.html","source_path":"sources/postgresql/19/view-pg-sequences.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12048,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.6","to":"10","status":"added","added_columns":[{"name":"schemaname","type":"name","description":"Name of schema containing sequence","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequencename","type":"name","description":"Name of sequence","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sequenceowner","type":"name","description":"Name of sequence's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"data_type","type":"regtype","description":"Data type of the sequence","references":"pg_type.oid","hidden":false,"type_oid":2206,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"start_value","type":"bigint","description":"Start value of the sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_value","type":"bigint","description":"Minimum value of the sequence","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_value","type":"bigint","description":"Maximum value of the sequence","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"increment_by","type":"bigint","description":"Increment value of the sequence","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cycle","type":"boolean","description":"Whether the sequence cycles","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cache_size","type":"bigint","description":"Cache size of the sequence","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_value","type":"bigint","description":"The last sequence value written to disk. If caching is used, this value can be greater than the last value handed out from the sequence. Null if the sequence has not been read from yet. Also, if the current user does not have USAGE or SELECT privilege on the sequence, the value is null.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"last_value","from":"The last sequence value written to disk. If caching is used, this value can be greater than the last value handed out from the sequence. Null if the sequence has not been read from yet. Also, if the current user does not have USAGE or SELECT privilege on the sequence, the value is null.","to":"The last sequence value written to disk. If caching is used, this value can be greater than the last value handed out from the sequence."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_settings","kind":"view","summary":"The view pg_settings provides access to run-time parameters of the server. It is essentially an alternative interface to the SHOW and SET commands. It also provides access to some facts about each parameter that are not directly available from SHOW, such as minimum and maximum values.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The view pg_settings provides access to run-time parameters of the server. It is essentially an alternative interface to the SHOW and SET commands. It also provides access to some facts about each parameter that are not directly available from SHOW, such as minimum and maximum values.","columns":[{"name":"name","type":"text","description":"Run-time configuration parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Current value of the parameter","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"unit","type":"text","description":"Implicit unit of the parameter","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"category","type":"text","description":"Logical group of the parameter","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"short_desc","type":"text","description":"A brief description of the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extra_desc","type":"text","description":"Additional, more detailed, description of the parameter","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"Context required to set the parameter's value","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vartype","type":"text","description":"Parameter type (bool, enum, integer, real, or string)","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"source","type":"text","description":"Source of the current parameter value","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_val","type":"text","description":"Minimum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_val","type":"text","description":"Maximum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"enumvals","type":"text[]","description":"Allowed values of an enum parameter (null for non-enum values)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"boot_val","type":"text","description":"Parameter value assumed at server startup if the parameter is not otherwise set","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reset_val","type":"text","description":"Value that RESET would reset the parameter to in the current session","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourcefile","type":"text","description":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a non-superuser); helpful when using include directives in configuration files","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a non-superuser)","hidden":false,"type_oid":23,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/view-pg-settings.html","source_path":"sources/postgresql/9.0/view-pg-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10998,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The view pg_settings provides access to run-time parameters of the server. It is essentially an alternative interface to the SHOW and SET commands. It also provides access to some facts about each parameter that are not directly available from SHOW, such as minimum and maximum values.","columns":[{"name":"name","type":"text","description":"Run-time configuration parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Current value of the parameter","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"unit","type":"text","description":"Implicit unit of the parameter","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"category","type":"text","description":"Logical group of the parameter","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"short_desc","type":"text","description":"A brief description of the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extra_desc","type":"text","description":"Additional, more detailed, description of the parameter","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"Context required to set the parameter's value (see below)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vartype","type":"text","description":"Parameter type (bool, enum, integer, real, or string)","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"source","type":"text","description":"Source of the current parameter value","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_val","type":"text","description":"Minimum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_val","type":"text","description":"Maximum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"enumvals","type":"text[]","description":"Allowed values of an enum parameter (null for non-enum values)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"boot_val","type":"text","description":"Parameter value assumed at server startup if the parameter is not otherwise set","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reset_val","type":"text","description":"Value that RESET would reset the parameter to in the current session","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourcefile","type":"text","description":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a non-superuser); helpful when using include directives in configuration files","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a non-superuser)","hidden":false,"type_oid":23,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/view-pg-settings.html","source_path":"sources/postgresql/9.1/view-pg-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11023,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The view pg_settings provides access to run-time parameters of the server. It is essentially an alternative interface to the SHOW and SET commands. It also provides access to some facts about each parameter that are not directly available from SHOW, such as minimum and maximum values.","columns":[{"name":"name","type":"text","description":"Run-time configuration parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Current value of the parameter","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"unit","type":"text","description":"Implicit unit of the parameter","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"category","type":"text","description":"Logical group of the parameter","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"short_desc","type":"text","description":"A brief description of the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extra_desc","type":"text","description":"Additional, more detailed, description of the parameter","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"Context required to set the parameter's value (see below)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vartype","type":"text","description":"Parameter type (bool, enum, integer, real, or string)","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"source","type":"text","description":"Source of the current parameter value","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_val","type":"text","description":"Minimum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_val","type":"text","description":"Maximum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"enumvals","type":"text[]","description":"Allowed values of an enum parameter (null for non-enum values)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"boot_val","type":"text","description":"Parameter value assumed at server startup if the parameter is not otherwise set","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reset_val","type":"text","description":"Value that RESET would reset the parameter to in the current session","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourcefile","type":"text","description":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a non-superuser); helpful when using include directives in configuration files","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a non-superuser)","hidden":false,"type_oid":23,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/view-pg-settings.html","source_path":"sources/postgresql/9.2/view-pg-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11092,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The view pg_settings provides access to run-time parameters of the server. It is essentially an alternative interface to the SHOW and SET commands. It also provides access to some facts about each parameter that are not directly available from SHOW, such as minimum and maximum values.","columns":[{"name":"name","type":"text","description":"Run-time configuration parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Current value of the parameter","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"unit","type":"text","description":"Implicit unit of the parameter","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"category","type":"text","description":"Logical group of the parameter","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"short_desc","type":"text","description":"A brief description of the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extra_desc","type":"text","description":"Additional, more detailed, description of the parameter","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"Context required to set the parameter's value (see below)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vartype","type":"text","description":"Parameter type (bool, enum, integer, real, or string)","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"source","type":"text","description":"Source of the current parameter value","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_val","type":"text","description":"Minimum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_val","type":"text","description":"Maximum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"enumvals","type":"text[]","description":"Allowed values of an enum parameter (null for non-enum values)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"boot_val","type":"text","description":"Parameter value assumed at server startup if the parameter is not otherwise set","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reset_val","type":"text","description":"Value that RESET would reset the parameter to in the current session","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourcefile","type":"text","description":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a non-superuser); helpful when using include directives in configuration files","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a non-superuser)","hidden":false,"type_oid":23,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-settings.html","source_path":"sources/postgresql/9.3/view-pg-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11113,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The view pg_settings provides access to run-time parameters of the server. It is essentially an alternative interface to the SHOW and SET commands. It also provides access to some facts about each parameter that are not directly available from SHOW, such as minimum and maximum values.","columns":[{"name":"name","type":"text","description":"Run-time configuration parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Current value of the parameter","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"unit","type":"text","description":"Implicit unit of the parameter","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"category","type":"text","description":"Logical group of the parameter","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"short_desc","type":"text","description":"A brief description of the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extra_desc","type":"text","description":"Additional, more detailed, description of the parameter","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"Context required to set the parameter's value (see below)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vartype","type":"text","description":"Parameter type (bool, enum, integer, real, or string)","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"source","type":"text","description":"Source of the current parameter value","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_val","type":"text","description":"Minimum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_val","type":"text","description":"Maximum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"enumvals","type":"text[]","description":"Allowed values of an enum parameter (null for non-enum values)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"boot_val","type":"text","description":"Parameter value assumed at server startup if the parameter is not otherwise set","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reset_val","type":"text","description":"Value that RESET would reset the parameter to in the current session","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourcefile","type":"text","description":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a non-superuser); helpful when using include directives in configuration files","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a non-superuser)","hidden":false,"type_oid":23,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-settings.html","source_path":"sources/postgresql/9.4/view-pg-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11210,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The view pg_settings provides access to run-time parameters of the server. It is essentially an alternative interface to the SHOW and SET commands. It also provides access to some facts about each parameter that are not directly available from SHOW, such as minimum and maximum values.","columns":[{"name":"name","type":"text","description":"Run-time configuration parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Current value of the parameter","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"unit","type":"text","description":"Implicit unit of the parameter","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"category","type":"text","description":"Logical group of the parameter","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"short_desc","type":"text","description":"A brief description of the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extra_desc","type":"text","description":"Additional, more detailed, description of the parameter","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"Context required to set the parameter's value (see below)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vartype","type":"text","description":"Parameter type (bool, enum, integer, real, or string)","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"source","type":"text","description":"Source of the current parameter value","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_val","type":"text","description":"Minimum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_val","type":"text","description":"Maximum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"enumvals","type":"text[]","description":"Allowed values of an enum parameter (null for non-enum values)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"boot_val","type":"text","description":"Parameter value assumed at server startup if the parameter is not otherwise set","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reset_val","type":"text","description":"Value that RESET would reset the parameter to in the current session","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourcefile","type":"text","description":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a non-superuser); helpful when using include directives in configuration files","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a non-superuser)","hidden":false,"type_oid":23,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pending_restart","type":"boolean","description":"true if the value has been changed in the configuration file but needs a restart; or false otherwise.","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-settings.html","source_path":"sources/postgresql/9.5/view-pg-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11696,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The view pg_settings provides access to run-time parameters of the server. It is essentially an alternative interface to the SHOW and SET commands. It also provides access to some facts about each parameter that are not directly available from SHOW, such as minimum and maximum values.","columns":[{"name":"name","type":"text","description":"Run-time configuration parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Current value of the parameter","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"unit","type":"text","description":"Implicit unit of the parameter","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"category","type":"text","description":"Logical group of the parameter","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"short_desc","type":"text","description":"A brief description of the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extra_desc","type":"text","description":"Additional, more detailed, description of the parameter","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"Context required to set the parameter's value (see below)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vartype","type":"text","description":"Parameter type (bool, enum, integer, real, or string)","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"source","type":"text","description":"Source of the current parameter value","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_val","type":"text","description":"Minimum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_val","type":"text","description":"Maximum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"enumvals","type":"text[]","description":"Allowed values of an enum parameter (null for non-enum values)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"boot_val","type":"text","description":"Parameter value assumed at server startup if the parameter is not otherwise set","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reset_val","type":"text","description":"Value that RESET would reset the parameter to in the current session","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourcefile","type":"text","description":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a non-superuser); helpful when using include directives in configuration files","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a non-superuser)","hidden":false,"type_oid":23,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pending_restart","type":"boolean","description":"true if the value has been changed in the configuration file but needs a restart; or false otherwise.","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-settings.html","source_path":"sources/postgresql/9.6/view-pg-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11718,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The view pg_settings provides access to run-time parameters of the server. It is essentially an alternative interface to the SHOW and SET commands. It also provides access to some facts about each parameter that are not directly available from SHOW, such as minimum and maximum values.","columns":[{"name":"name","type":"text","description":"Run-time configuration parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Current value of the parameter","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"unit","type":"text","description":"Implicit unit of the parameter","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"category","type":"text","description":"Logical group of the parameter","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"short_desc","type":"text","description":"A brief description of the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extra_desc","type":"text","description":"Additional, more detailed, description of the parameter","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"Context required to set the parameter's value (see below)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vartype","type":"text","description":"Parameter type (bool, enum, integer, real, or string)","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"source","type":"text","description":"Source of the current parameter value","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_val","type":"text","description":"Minimum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_val","type":"text","description":"Maximum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"enumvals","type":"text[]","description":"Allowed values of an enum parameter (null for non-enum values)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"boot_val","type":"text","description":"Parameter value assumed at server startup if the parameter is not otherwise set","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reset_val","type":"text","description":"Value that RESET would reset the parameter to in the current session","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourcefile","type":"text","description":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a user who is neither a superuser or a member of pg_read_all_settings); helpful when using include directives in configuration files","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a user who is neither a superuser or a member of pg_read_all_settings).","hidden":false,"type_oid":23,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pending_restart","type":"boolean","description":"true if the value has been changed in the configuration file but needs a restart; or false otherwise.","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-settings.html","source_path":"sources/postgresql/10/view-pg-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11600,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_settings provides access to run-time parameters of the server. It is essentially an alternative interface to the SHOW and SET commands. It also provides access to some facts about each parameter that are not directly available from SHOW, such as minimum and maximum values.","columns":[{"name":"name","type":"text","description":"Run-time configuration parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Current value of the parameter","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"unit","type":"text","description":"Implicit unit of the parameter","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"category","type":"text","description":"Logical group of the parameter","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"short_desc","type":"text","description":"A brief description of the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extra_desc","type":"text","description":"Additional, more detailed, description of the parameter","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"Context required to set the parameter's value (see below)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vartype","type":"text","description":"Parameter type (bool, enum, integer, real, or string)","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"source","type":"text","description":"Source of the current parameter value","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_val","type":"text","description":"Minimum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_val","type":"text","description":"Maximum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"enumvals","type":"text[]","description":"Allowed values of an enum parameter (null for non-enum values)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"boot_val","type":"text","description":"Parameter value assumed at server startup if the parameter is not otherwise set","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reset_val","type":"text","description":"Value that RESET would reset the parameter to in the current session","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourcefile","type":"text","description":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a user who is neither a superuser or a member of pg_read_all_settings); helpful when using include directives in configuration files","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a user who is neither a superuser or a member of pg_read_all_settings).","hidden":false,"type_oid":23,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pending_restart","type":"boolean","description":"true if the value has been changed in the configuration file but needs a restart; or false otherwise.","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-settings.html","source_path":"sources/postgresql/11/view-pg-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11668,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_settings provides access to run-time parameters of the server. It is essentially an alternative interface to the SHOW and SET commands. It also provides access to some facts about each parameter that are not directly available from SHOW, such as minimum and maximum values.","columns":[{"name":"name","type":"text","description":"Run-time configuration parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Current value of the parameter","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"unit","type":"text","description":"Implicit unit of the parameter","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"category","type":"text","description":"Logical group of the parameter","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"short_desc","type":"text","description":"A brief description of the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extra_desc","type":"text","description":"Additional, more detailed, description of the parameter","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"Context required to set the parameter's value (see below)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vartype","type":"text","description":"Parameter type (bool, enum, integer, real, or string)","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"source","type":"text","description":"Source of the current parameter value","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_val","type":"text","description":"Minimum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_val","type":"text","description":"Maximum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"enumvals","type":"text[]","description":"Allowed values of an enum parameter (null for non-enum values)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"boot_val","type":"text","description":"Parameter value assumed at server startup if the parameter is not otherwise set","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reset_val","type":"text","description":"Value that RESET would reset the parameter to in the current session","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourcefile","type":"text","description":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a user who is neither a superuser or a member of pg_read_all_settings); helpful when using include directives in configuration files","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a user who is neither a superuser or a member of pg_read_all_settings).","hidden":false,"type_oid":23,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pending_restart","type":"boolean","description":"true if the value has been changed in the configuration file but needs a restart; or false otherwise.","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-settings.html","source_path":"sources/postgresql/12/view-pg-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12166,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_settings provides access to run-time parameters of the server. It is essentially an alternative interface to the SHOW and SET commands. It also provides access to some facts about each parameter that are not directly available from SHOW, such as minimum and maximum values.","columns":[{"name":"name","type":"text","description":"Run-time configuration parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Current value of the parameter","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"unit","type":"text","description":"Implicit unit of the parameter","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"category","type":"text","description":"Logical group of the parameter","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"short_desc","type":"text","description":"A brief description of the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extra_desc","type":"text","description":"Additional, more detailed, description of the parameter","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"Context required to set the parameter's value (see below)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vartype","type":"text","description":"Parameter type (bool, enum, integer, real, or string)","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"source","type":"text","description":"Source of the current parameter value","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_val","type":"text","description":"Minimum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_val","type":"text","description":"Maximum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"enumvals","type":"text[]","description":"Allowed values of an enum parameter (null for non-enum values)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"boot_val","type":"text","description":"Parameter value assumed at server startup if the parameter is not otherwise set","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reset_val","type":"text","description":"Value that RESET would reset the parameter to in the current session","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourcefile","type":"text","description":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a user who is neither a superuser or a member of pg_read_all_settings); helpful when using include directives in configuration files","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a user who is neither a superuser or a member of pg_read_all_settings).","documented_type":"int4","hidden":false,"type_oid":23,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pending_restart","type":"boolean","description":"true if the value has been changed in the configuration file but needs a restart; or false otherwise.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-settings.html","source_path":"sources/postgresql/13/view-pg-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12165,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_settings provides access to run-time parameters of the server. It is essentially an alternative interface to the SHOW and SET commands. It also provides access to some facts about each parameter that are not directly available from SHOW, such as minimum and maximum values.","columns":[{"name":"name","type":"text","description":"Run-time configuration parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Current value of the parameter","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"unit","type":"text","description":"Implicit unit of the parameter","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"category","type":"text","description":"Logical group of the parameter","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"short_desc","type":"text","description":"A brief description of the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extra_desc","type":"text","description":"Additional, more detailed, description of the parameter","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"Context required to set the parameter's value (see below)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vartype","type":"text","description":"Parameter type (bool, enum, integer, real, or string)","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"source","type":"text","description":"Source of the current parameter value","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_val","type":"text","description":"Minimum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_val","type":"text","description":"Maximum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"enumvals","type":"text[]","description":"Allowed values of an enum parameter (null for non-enum values)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"boot_val","type":"text","description":"Parameter value assumed at server startup if the parameter is not otherwise set","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reset_val","type":"text","description":"Value that RESET would reset the parameter to in the current session","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourcefile","type":"text","description":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a user who is neither a superuser or a member of pg_read_all_settings); helpful when using include directives in configuration files","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a user who is neither a superuser or a member of pg_read_all_settings).","documented_type":"int4","hidden":false,"type_oid":23,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pending_restart","type":"boolean","description":"true if the value has been changed in the configuration file but needs a restart; or false otherwise.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-settings.html","source_path":"sources/postgresql/14/view-pg-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12321,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_settings provides access to run-time parameters of the server. It is essentially an alternative interface to the SHOW and SET commands. It also provides access to some facts about each parameter that are not directly available from SHOW, such as minimum and maximum values.","columns":[{"name":"name","type":"text","description":"Run-time configuration parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Current value of the parameter","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"unit","type":"text","description":"Implicit unit of the parameter","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"category","type":"text","description":"Logical group of the parameter","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"short_desc","type":"text","description":"A brief description of the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extra_desc","type":"text","description":"Additional, more detailed, description of the parameter","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"Context required to set the parameter's value (see below)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vartype","type":"text","description":"Parameter type (bool, enum, integer, real, or string)","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"source","type":"text","description":"Source of the current parameter value","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_val","type":"text","description":"Minimum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_val","type":"text","description":"Maximum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"enumvals","type":"text[]","description":"Allowed values of an enum parameter (null for non-enum values)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"boot_val","type":"text","description":"Parameter value assumed at server startup if the parameter is not otherwise set","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reset_val","type":"text","description":"Value that RESET would reset the parameter to in the current session","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourcefile","type":"text","description":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a user who neither is a superuser nor has privileges of pg_read_all_settings); helpful when using include directives in configuration files","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a user who neither is a superuser nor has privileges of pg_read_all_settings).","documented_type":"int4","hidden":false,"type_oid":23,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pending_restart","type":"boolean","description":"true if the value has been changed in the configuration file but needs a restart; or false otherwise.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-settings.html","source_path":"sources/postgresql/15/view-pg-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12104,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_settings provides access to run-time parameters of the server. It is essentially an alternative interface to the SHOW and SET commands. It also provides access to some facts about each parameter that are not directly available from SHOW, such as minimum and maximum values.","columns":[{"name":"name","type":"text","description":"Run-time configuration parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Current value of the parameter","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"unit","type":"text","description":"Implicit unit of the parameter","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"category","type":"text","description":"Logical group of the parameter","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"short_desc","type":"text","description":"A brief description of the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extra_desc","type":"text","description":"Additional, more detailed, description of the parameter","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"Context required to set the parameter's value (see below)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vartype","type":"text","description":"Parameter type (bool, enum, integer, real, or string)","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"source","type":"text","description":"Source of the current parameter value","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_val","type":"text","description":"Minimum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_val","type":"text","description":"Maximum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"enumvals","type":"text[]","description":"Allowed values of an enum parameter (null for non-enum values)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"boot_val","type":"text","description":"Parameter value assumed at server startup if the parameter is not otherwise set","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reset_val","type":"text","description":"Value that RESET would reset the parameter to in the current session","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourcefile","type":"text","description":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a user who neither is a superuser nor has privileges of pg_read_all_settings); helpful when using include directives in configuration files","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a user who neither is a superuser nor has privileges of pg_read_all_settings).","documented_type":"int4","hidden":false,"type_oid":23,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pending_restart","type":"boolean","description":"true if the value has been changed in the configuration file but needs a restart; or false otherwise.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-settings.html","source_path":"sources/postgresql/16/view-pg-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12104,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_settings provides access to run-time parameters of the server. It is essentially an alternative interface to the SHOW and SET commands. It also provides access to some facts about each parameter that are not directly available from SHOW, such as minimum and maximum values.","columns":[{"name":"name","type":"text","description":"Run-time configuration parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Current value of the parameter","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"unit","type":"text","description":"Implicit unit of the parameter","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"category","type":"text","description":"Logical group of the parameter","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"short_desc","type":"text","description":"A brief description of the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extra_desc","type":"text","description":"Additional, more detailed, description of the parameter","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"Context required to set the parameter's value (see below)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vartype","type":"text","description":"Parameter type (bool, enum, integer, real, or string)","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"source","type":"text","description":"Source of the current parameter value","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_val","type":"text","description":"Minimum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_val","type":"text","description":"Maximum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"enumvals","type":"text[]","description":"Allowed values of an enum parameter (null for non-enum values)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"boot_val","type":"text","description":"Parameter value assumed at server startup if the parameter is not otherwise set","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reset_val","type":"text","description":"Value that RESET would reset the parameter to in the current session","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourcefile","type":"text","description":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a user who neither is a superuser nor has privileges of pg_read_all_settings); helpful when using include directives in configuration files","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a user who neither is a superuser nor has privileges of pg_read_all_settings).","documented_type":"int4","hidden":false,"type_oid":23,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pending_restart","type":"boolean","description":"true if the value has been changed in the configuration file but needs a restart; or false otherwise.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-settings.html","source_path":"sources/postgresql/17/view-pg-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12104,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_settings provides access to run-time parameters of the server. It is essentially an alternative interface to the SHOW and SET commands. It also provides access to some facts about each parameter that are not directly available from SHOW, such as minimum and maximum values.","columns":[{"name":"name","type":"text","description":"Run-time configuration parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Current value of the parameter","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"unit","type":"text","description":"Implicit unit of the parameter","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"category","type":"text","description":"Logical group of the parameter","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"short_desc","type":"text","description":"A brief description of the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extra_desc","type":"text","description":"Additional, more detailed, description of the parameter","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"Context required to set the parameter's value (see below)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vartype","type":"text","description":"Parameter type (bool, enum, integer, real, or string)","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"source","type":"text","description":"Source of the current parameter value","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_val","type":"text","description":"Minimum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_val","type":"text","description":"Maximum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"enumvals","type":"text[]","description":"Allowed values of an enum parameter (null for non-enum values)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"boot_val","type":"text","description":"Parameter value assumed at server startup if the parameter is not otherwise set","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reset_val","type":"text","description":"Value that RESET would reset the parameter to in the current session","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourcefile","type":"text","description":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a user who neither is a superuser nor has privileges of pg_read_all_settings); helpful when using include directives in configuration files","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a user who neither is a superuser nor has privileges of pg_read_all_settings).","documented_type":"int4","hidden":false,"type_oid":23,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pending_restart","type":"boolean","description":"true if the value has been changed in the configuration file but needs a restart; or false otherwise.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-settings.html","source_path":"sources/postgresql/18/view-pg-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12104,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_settings provides access to run-time parameters of the server. It is essentially an alternative interface to the SHOW and SET commands. It also provides access to some facts about each parameter that are not directly available from SHOW, such as minimum and maximum values.","columns":[{"name":"name","type":"text","description":"Run-time configuration parameter name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"setting","type":"text","description":"Current value of the parameter","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"unit","type":"text","description":"Implicit unit of the parameter","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"category","type":"text","description":"Logical group of the parameter","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"short_desc","type":"text","description":"A brief description of the parameter","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extra_desc","type":"text","description":"Additional, more detailed, description of the parameter","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"Context required to set the parameter's value (see below)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vartype","type":"text","description":"Parameter type (bool, enum, integer, real, or string)","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"source","type":"text","description":"Source of the current parameter value","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"min_val","type":"text","description":"Minimum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_val","type":"text","description":"Maximum allowed value of the parameter (null for non-numeric values)","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"enumvals","type":"text[]","description":"Allowed values of an enum parameter (null for non-enum values)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"boot_val","type":"text","description":"Parameter value assumed at server startup if the parameter is not otherwise set","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reset_val","type":"text","description":"Value that RESET would reset the parameter to in the current session","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourcefile","type":"text","description":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a user who neither is a superuser nor has privileges of pg_read_all_settings); helpful when using include directives in configuration files","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sourceline","type":"integer","description":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a user who neither is a superuser nor has privileges of pg_read_all_settings).","documented_type":"int4","hidden":false,"type_oid":23,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pending_restart","type":"boolean","description":"true if the value has been changed in the configuration file but needs a restart; or false otherwise.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-settings.html","source_path":"sources/postgresql/19/view-pg-settings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12109,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"context","from":"Context required to set the parameter's value","to":"Context required to set the parameter's value (see below)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[{"name":"pending_restart","type":"boolean","description":"true if the value has been changed in the configuration file but needs a restart; or false otherwise.","hidden":false,"type_oid":16,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"sourcefile","from":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a non-superuser); helpful when using include directives in configuration files","to":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a user who is neither a superuser or a member of pg_read_all_settings); helpful when using include directives in configuration files"},{"name":"sourceline","from":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a non-superuser)","to":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a user who is neither a superuser or a member of pg_read_all_settings)."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"sourcefile","from":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a user who is neither a superuser or a member of pg_read_all_settings); helpful when using include directives in configuration files","to":"Configuration file the current value was set in (null for values set from sources other than configuration files, or when examined by a user who neither is a superuser nor has privileges of pg_read_all_settings); helpful when using include directives in configuration files"},{"name":"sourceline","from":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a user who is neither a superuser or a member of pg_read_all_settings).","to":"Line number within the configuration file the current value was set at (null for values set from sources other than configuration files, or when examined by a user who neither is a superuser nor has privileges of pg_read_all_settings)."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_shadow","kind":"view","summary":"The view pg_shadow exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows properties of all roles that are marked as rolcanlogin in pg_authid.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The view pg_shadow exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows properties of all roles that are marked as rolcanlogin in pg_authid.\n\nThe name stems from the fact that this table should not be readable by the public since it contains passwords. pg_user is a publicly readable view on pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecatupd","type":"boolean","description":"User can update system catalogs. (Even a superuser cannot do this unless this column is true.)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Password (possibly encrypted); null if none. See pg_authid for details of how encrypted passwords are stored.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"abstime","description":"Password expiry time (only used for password authentication)","hidden":false,"type_oid":702,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/view-pg-shadow.html","source_path":"sources/postgresql/9.0/view-pg-shadow.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10957,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The view pg_shadow exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows properties of all roles that are marked as rolcanlogin in pg_authid.\n\nThe name stems from the fact that this table should not be readable by the public since it contains passwords. pg_user is a publicly readable view on pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecatupd","type":"boolean","description":"User can update system catalogs. (Even a superuser cannot do this unless this column is true.)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","description":"User can initiate streaming replication and put the system in and out of backup mode.","description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/view-pg-shadow.html","method":"later_documentation_exact_column_name","note":"Explanation from later documentation; existence and SQL type verified in this version by fresh initdb."},"schema_note":"The version documentation omits this field; restored from its exact-release runtime catalog.","type":"boolean","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Password (possibly encrypted); null if none. See pg_authid for details of how encrypted passwords are stored.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"abstime","description":"Password expiry time (only used for password authentication)","hidden":false,"type_oid":702,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/view-pg-shadow.html","source_path":"sources/postgresql/9.1/view-pg-shadow.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10972,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The view pg_shadow exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows properties of all roles that are marked as rolcanlogin in pg_authid.\n\nThe name stems from the fact that this table should not be readable by the public since it contains passwords. pg_user is a publicly readable view on pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecatupd","type":"boolean","description":"User can update system catalogs. (Even a superuser cannot do this unless this column is true.)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Password (possibly encrypted); null if none. See pg_authid for details of how encrypted passwords are stored.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"abstime","description":"Password expiry time (only used for password authentication)","hidden":false,"type_oid":702,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/view-pg-shadow.html","source_path":"sources/postgresql/9.2/view-pg-shadow.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11040,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The view pg_shadow exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows properties of all roles that are marked as rolcanlogin in pg_authid.\n\nThe name stems from the fact that this table should not be readable by the public since it contains passwords. pg_user is a publicly readable view on pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecatupd","type":"boolean","description":"User can update system catalogs. (Even a superuser cannot do this unless this column is true.)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Password (possibly encrypted); null if none. See pg_authid for details of how encrypted passwords are stored.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"abstime","description":"Password expiry time (only used for password authentication)","hidden":false,"type_oid":702,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-shadow.html","source_path":"sources/postgresql/9.3/view-pg-shadow.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11057,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The view pg_shadow exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows properties of all roles that are marked as rolcanlogin in pg_authid.\n\nThe name stems from the fact that this table should not be readable by the public since it contains passwords. pg_user is a publicly readable view on pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecatupd","type":"boolean","description":"User can update system catalogs. (Even a superuser cannot do this unless this column is true.)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Password (possibly encrypted); null if none. See pg_authid for details of how encrypted passwords are stored.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"abstime","description":"Password expiry time (only used for password authentication)","hidden":false,"type_oid":702,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-shadow.html","source_path":"sources/postgresql/9.4/view-pg-shadow.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11154,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The view pg_shadow exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows properties of all roles that are marked as rolcanlogin in pg_authid.\n\nThe name stems from the fact that this table should not be readable by the public since it contains passwords. pg_user is a publicly readable view on pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row level security policy, see Section 5.7 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Password (possibly encrypted); null if none. See pg_authid for details of how encrypted passwords are stored.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"abstime","description":"Password expiry time (only used for password authentication)","hidden":false,"type_oid":702,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-shadow.html","source_path":"sources/postgresql/9.5/view-pg-shadow.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11635,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The view pg_shadow exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows properties of all roles that are marked as rolcanlogin in pg_authid.\n\nThe name stems from the fact that this table should not be readable by the public since it contains passwords. pg_user is a publicly readable view on pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row level security policy, see Section 5.7 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Password (possibly encrypted); null if none. See pg_authid for details of how encrypted passwords are stored.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"abstime","description":"Password expiry time (only used for password authentication)","hidden":false,"type_oid":702,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-shadow.html","source_path":"sources/postgresql/9.6/view-pg-shadow.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11658,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The view pg_shadow exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows properties of all roles that are marked as rolcanlogin in pg_authid.\n\nThe name stems from the fact that this table should not be readable by the public since it contains passwords. pg_user is a publicly readable view on pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row level security policy, see Section 5.7 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Password (possibly encrypted); null if none. See pg_authid for details of how encrypted passwords are stored.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"abstime","description":"Password expiry time (only used for password authentication)","hidden":false,"type_oid":702,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-shadow.html","source_path":"sources/postgresql/10/view-pg-shadow.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11531,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_shadow exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows properties of all roles that are marked as rolcanlogin in pg_authid.\n\nThe name stems from the fact that this table should not be readable by the public since it contains passwords. pg_user is a publicly readable view on pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row level security policy, see Section 5.7 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Password (possibly encrypted); null if none. See pg_authid for details of how encrypted passwords are stored.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"abstime","description":"Password expiry time (only used for password authentication)","hidden":false,"type_oid":702,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-shadow.html","source_path":"sources/postgresql/11/view-pg-shadow.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11599,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_shadow exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows properties of all roles that are marked as rolcanlogin in pg_authid.\n\nThe name stems from the fact that this table should not be readable by the public since it contains passwords. pg_user is a publicly readable view on pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row level security policy, see Section 5.8 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Password (possibly encrypted); null if none. See pg_authid for details of how encrypted passwords are stored.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication)","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-shadow.html","source_path":"sources/postgresql/12/view-pg-shadow.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12093,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_shadow exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows properties of all roles that are marked as rolcanlogin in pg_authid.\n\nThe name stems from the fact that this table should not be readable by the public since it contains passwords. pg_user is a publicly readable view on pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row level security policy, see Section 5.8 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Encrypted password; null if none. See pg_authid for details of how encrypted passwords are stored.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication)","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-shadow.html","source_path":"sources/postgresql/13/view-pg-shadow.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12091,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_shadow exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows properties of all roles that are marked as rolcanlogin in pg_authid.\n\nThe name stems from the fact that this table should not be readable by the public since it contains passwords. pg_user is a publicly readable view on pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row-level security policy, see Section 5.8 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Encrypted password; null if none. See pg_authid for details of how encrypted passwords are stored.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication)","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-shadow.html","source_path":"sources/postgresql/14/view-pg-shadow.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12222,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_shadow exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows properties of all roles that are marked as rolcanlogin in pg_authid.\n\nThe name stems from the fact that this table should not be readable by the public since it contains passwords. pg_user is a publicly readable view on pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row-level security policy, see Section 5.8 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Encrypted password; null if none. See pg_authid for details of how encrypted passwords are stored.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication)","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-shadow.html","source_path":"sources/postgresql/15/view-pg-shadow.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12005,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_shadow exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows properties of all roles that are marked as rolcanlogin in pg_authid.\n\nThe name stems from the fact that this table should not be readable by the public since it contains passwords. pg_user is a publicly readable view on pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row-level security policy, see Section 5.8 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Encrypted password; null if none. See pg_authid for details of how encrypted passwords are stored.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication)","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-shadow.html","source_path":"sources/postgresql/16/view-pg-shadow.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12005,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_shadow exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows properties of all roles that are marked as rolcanlogin in pg_authid.\n\nThe name stems from the fact that this table should not be readable by the public since it contains passwords. pg_user is a publicly readable view on pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row-level security policy, see Section 5.9 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Encrypted password; null if none. See pg_authid for details of how encrypted passwords are stored.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication)","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-shadow.html","source_path":"sources/postgresql/17/view-pg-shadow.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12005,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_shadow exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows properties of all roles that are marked as rolcanlogin in pg_authid.\n\nThe name stems from the fact that this table should not be readable by the public since it contains passwords. pg_user is a publicly readable view on pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row-level security policy, see Section 5.9 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Encrypted password; null if none. See pg_authid for details of how encrypted passwords are stored.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication)","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-shadow.html","source_path":"sources/postgresql/18/view-pg-shadow.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12005,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_shadow exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows properties of all roles that are marked as rolcanlogin in pg_authid.\n\nThe name stems from the fact that this table should not be readable by the public since it contains passwords. pg_user is a publicly readable view on pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row-level security policy, see Section 5.10 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Encrypted password; null if none. See pg_authid for details of how encrypted passwords are stored.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication)","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-shadow.html","source_path":"sources/postgresql/19/view-pg-shadow.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12005,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[{"name":"userepl","description":"User can initiate streaming replication and put the system in and out of backup mode.","description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/view-pg-shadow.html","method":"later_documentation_exact_column_name","note":"Explanation from later documentation; existence and SQL type verified in this version by fresh initdb."},"schema_note":"The version documentation omits this field; restored from its exact-release runtime catalog.","type":"boolean","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.4","to":"9.5","status":"changed","added_columns":[{"name":"usebypassrls","type":"boolean","description":"User bypasses every row level security policy, see Section 5.7 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[{"name":"usecatupd","type":"boolean","description":"User can update system catalogs. (Even a superuser cannot do this unless this column is true.)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[{"name":"valuntil","from":"abstime","to":"timestamp with time zone"}],"description_changes":[{"name":"usebypassrls","from":"User bypasses every row level security policy, see Section 5.7 for more information.","to":"User bypasses every row level security policy, see Section 5.8 for more information."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"passwd","from":"Password (possibly encrypted); null if none. See pg_authid for details of how encrypted passwords are stored.","to":"Encrypted password; null if none. See pg_authid for details of how encrypted passwords are stored."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"usebypassrls","from":"User bypasses every row level security policy, see Section 5.8 for more information.","to":"User bypasses every row-level security policy, see Section 5.8 for more information."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"usebypassrls","from":"User bypasses every row-level security policy, see Section 5.8 for more information.","to":"User bypasses every row-level security policy, see Section 5.9 for more information."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"usebypassrls","from":"User bypasses every row-level security policy, see Section 5.9 for more information.","to":"User bypasses every row-level security policy, see Section 5.10 for more information."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_shdepend","kind":"catalog","summary":"dependencies on shared objects","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_shdepend records the dependency relationships between database objects and shared objects, such as roles. This information allows PostgreSQL to ensure that those objects are unreferenced before attempting to delete them.\n\nSee also pg_depend, which performs a similar function for dependencies involving objects within a single database.\n\nUnlike most system catalogs, pg_shdepend is shared across all databases of a cluster: there is only one copy of pg_shdepend per cluster, not one per database.","columns":[{"name":"dbid","type":"oid","description":"The OID of the database the dependent object is in, or zero for a shared object","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in (must be a shared catalog)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-shdepend.html","source_path":"sources/postgresql/9.0/catalog-pg-shdepend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_shdepend.h","definition_source_path":"sources/postgresql/9.0/source/pg_shdepend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1214,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_shdepend records the dependency relationships between database objects and shared objects, such as roles. This information allows PostgreSQL to ensure that those objects are unreferenced before attempting to delete them.\n\nSee also pg_depend, which performs a similar function for dependencies involving objects within a single database.\n\nUnlike most system catalogs, pg_shdepend is shared across all databases of a cluster: there is only one copy of pg_shdepend per cluster, not one per database.","columns":[{"name":"dbid","type":"oid","description":"The OID of the database the dependent object is in, or zero for a shared object","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in (must be a shared catalog)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-shdepend.html","source_path":"sources/postgresql/9.1/catalog-pg-shdepend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_shdepend.h","definition_source_path":"sources/postgresql/9.1/source/pg_shdepend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1214,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_shdepend records the dependency relationships between database objects and shared objects, such as roles. This information allows PostgreSQL to ensure that those objects are unreferenced before attempting to delete them.\n\nSee also pg_depend, which performs a similar function for dependencies involving objects within a single database.\n\nUnlike most system catalogs, pg_shdepend is shared across all databases of a cluster: there is only one copy of pg_shdepend per cluster, not one per database.","columns":[{"name":"dbid","type":"oid","description":"The OID of the database the dependent object is in, or zero for a shared object","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in (must be a shared catalog)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-shdepend.html","source_path":"sources/postgresql/9.2/catalog-pg-shdepend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_shdepend.h","definition_source_path":"sources/postgresql/9.2/source/pg_shdepend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1214,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_shdepend records the dependency relationships between database objects and shared objects, such as roles. This information allows PostgreSQL to ensure that those objects are unreferenced before attempting to delete them.\n\nSee also pg_depend, which performs a similar function for dependencies involving objects within a single database.\n\nUnlike most system catalogs, pg_shdepend is shared across all databases of a cluster: there is only one copy of pg_shdepend per cluster, not one per database.","columns":[{"name":"dbid","type":"oid","description":"The OID of the database the dependent object is in, or zero for a shared object","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in (must be a shared catalog)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-shdepend.html","source_path":"sources/postgresql/9.3/catalog-pg-shdepend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_shdepend.h","definition_source_path":"sources/postgresql/9.3/source/pg_shdepend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1214,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_shdepend records the dependency relationships between database objects and shared objects, such as roles. This information allows PostgreSQL to ensure that those objects are unreferenced before attempting to delete them.\n\nSee also pg_depend, which performs a similar function for dependencies involving objects within a single database.\n\nUnlike most system catalogs, pg_shdepend is shared across all databases of a cluster: there is only one copy of pg_shdepend per cluster, not one per database.","columns":[{"name":"dbid","type":"oid","description":"The OID of the database the dependent object is in, or zero for a shared object","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in (must be a shared catalog)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-shdepend.html","source_path":"sources/postgresql/9.4/catalog-pg-shdepend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_shdepend.h","definition_source_path":"sources/postgresql/9.4/source/pg_shdepend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1214,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_shdepend records the dependency relationships between database objects and shared objects, such as roles. This information allows PostgreSQL to ensure that those objects are unreferenced before attempting to delete them.\n\nSee also pg_depend, which performs a similar function for dependencies involving objects within a single database.\n\nUnlike most system catalogs, pg_shdepend is shared across all databases of a cluster: there is only one copy of pg_shdepend per cluster, not one per database.","columns":[{"name":"dbid","type":"oid","description":"The OID of the database the dependent object is in, or zero for a shared object","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in (must be a shared catalog)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-shdepend.html","source_path":"sources/postgresql/9.5/catalog-pg-shdepend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_shdepend.h","definition_source_path":"sources/postgresql/9.5/source/pg_shdepend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1214,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_shdepend records the dependency relationships between database objects and shared objects, such as roles. This information allows PostgreSQL to ensure that those objects are unreferenced before attempting to delete them.\n\nSee also pg_depend, which performs a similar function for dependencies involving objects within a single database.\n\nUnlike most system catalogs, pg_shdepend is shared across all databases of a cluster: there is only one copy of pg_shdepend per cluster, not one per database.","columns":[{"name":"dbid","type":"oid","description":"The OID of the database the dependent object is in, or zero for a shared object","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in (must be a shared catalog)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-shdepend.html","source_path":"sources/postgresql/9.6/catalog-pg-shdepend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_shdepend.h","definition_source_path":"sources/postgresql/9.6/source/pg_shdepend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1214,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_shdepend records the dependency relationships between database objects and shared objects, such as roles. This information allows PostgreSQL to ensure that those objects are unreferenced before attempting to delete them.\n\nSee also pg_depend, which performs a similar function for dependencies involving objects within a single database.\n\nUnlike most system catalogs, pg_shdepend is shared across all databases of a cluster: there is only one copy of pg_shdepend per cluster, not one per database.","columns":[{"name":"dbid","type":"oid","description":"The OID of the database the dependent object is in, or zero for a shared object","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in (must be a shared catalog)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-shdepend.html","source_path":"sources/postgresql/10/catalog-pg-shdepend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_shdepend.h","definition_source_path":"sources/postgresql/10/source/pg_shdepend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1214,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_shdepend records the dependency relationships between database objects and shared objects, such as roles. This information allows PostgreSQL to ensure that those objects are unreferenced before attempting to delete them.\n\nSee also pg_depend, which performs a similar function for dependencies involving objects within a single database.\n\nUnlike most system catalogs, pg_shdepend is shared across all databases of a cluster: there is only one copy of pg_shdepend per cluster, not one per database.","columns":[{"name":"dbid","type":"oid","description":"The OID of the database the dependent object is in, or zero for a shared object","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in (must be a shared catalog)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-shdepend.html","source_path":"sources/postgresql/11/catalog-pg-shdepend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_shdepend.h","definition_source_path":"sources/postgresql/11/source/pg_shdepend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1214,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_shdepend records the dependency relationships between database objects and shared objects, such as roles. This information allows PostgreSQL to ensure that those objects are unreferenced before attempting to delete them.\n\nSee also pg_depend, which performs a similar function for dependencies involving objects within a single database.\n\nUnlike most system catalogs, pg_shdepend is shared across all databases of a cluster: there is only one copy of pg_shdepend per cluster, not one per database.","columns":[{"name":"dbid","type":"oid","description":"The OID of the database the dependent object is in, or zero for a shared object","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in (must be a shared catalog)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-shdepend.html","source_path":"sources/postgresql/12/catalog-pg-shdepend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_shdepend.h","definition_source_path":"sources/postgresql/12/source/pg_shdepend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1214,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_shdepend records the dependency relationships between database objects and shared objects, such as roles. This information allows PostgreSQL to ensure that those objects are unreferenced before attempting to delete them.\n\nSee also pg_depend, which performs a similar function for dependencies involving objects within a single database.\n\nUnlike most system catalogs, pg_shdepend is shared across all databases of a cluster: there is only one copy of pg_shdepend per cluster, not one per database.","columns":[{"name":"dbid","type":"oid","description":"The OID of the database the dependent object is in, or zero for a shared object","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in (must be a shared catalog)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-shdepend.html","source_path":"sources/postgresql/13/catalog-pg-shdepend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_shdepend.h","definition_source_path":"sources/postgresql/13/source/pg_shdepend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1214,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_shdepend records the dependency relationships between database objects and shared objects, such as roles. This information allows PostgreSQL to ensure that those objects are unreferenced before attempting to delete them.\n\nSee also pg_depend, which performs a similar function for dependencies involving objects within a single database.\n\nUnlike most system catalogs, pg_shdepend is shared across all databases of a cluster: there is only one copy of pg_shdepend per cluster, not one per database.","columns":[{"name":"dbid","type":"oid","description":"The OID of the database the dependent object is in, or zero for a shared object or a SHARED_DEPENDENCY_PIN entry","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in, or zero for a SHARED_DEPENDENCY_PIN entry","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object, or zero for a SHARED_DEPENDENCY_PIN entry","references":"any OID column","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in (must be a shared catalog)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-shdepend.html","source_path":"sources/postgresql/14/catalog-pg-shdepend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_shdepend.h","definition_source_path":"sources/postgresql/14/source/pg_shdepend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1214,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_shdepend records the dependency relationships between database objects and shared objects, such as roles. This information allows PostgreSQL to ensure that those objects are unreferenced before attempting to delete them.\n\nSee also pg_depend, which performs a similar function for dependencies involving objects within a single database.\n\nUnlike most system catalogs, pg_shdepend is shared across all databases of a cluster: there is only one copy of pg_shdepend per cluster, not one per database.","columns":[{"name":"dbid","type":"oid","description":"The OID of the database the dependent object is in, or zero for a shared object","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in (must be a shared catalog)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-shdepend.html","source_path":"sources/postgresql/15/catalog-pg-shdepend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_shdepend.h","definition_source_path":"sources/postgresql/15/source/pg_shdepend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1214,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_shdepend records the dependency relationships between database objects and shared objects, such as roles. This information allows PostgreSQL to ensure that those objects are unreferenced before attempting to delete them.\n\nSee also pg_depend, which performs a similar function for dependencies involving objects within a single database.\n\nUnlike most system catalogs, pg_shdepend is shared across all databases of a cluster: there is only one copy of pg_shdepend per cluster, not one per database.","columns":[{"name":"dbid","type":"oid","description":"The OID of the database the dependent object is in, or zero for a shared object","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in (must be a shared catalog)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-shdepend.html","source_path":"sources/postgresql/16/catalog-pg-shdepend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_shdepend.h","definition_source_path":"sources/postgresql/16/source/pg_shdepend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1214,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_shdepend records the dependency relationships between database objects and shared objects, such as roles. This information allows PostgreSQL to ensure that those objects are unreferenced before attempting to delete them.\n\nSee also pg_depend, which performs a similar function for dependencies involving objects within a single database.\n\nUnlike most system catalogs, pg_shdepend is shared across all databases of a cluster: there is only one copy of pg_shdepend per cluster, not one per database.","columns":[{"name":"dbid","type":"oid","description":"The OID of the database the dependent object is in, or zero for a shared object","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in (must be a shared catalog)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-shdepend.html","source_path":"sources/postgresql/17/catalog-pg-shdepend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_shdepend.h","definition_source_path":"sources/postgresql/17/source/pg_shdepend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1214,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_shdepend records the dependency relationships between database objects and shared objects, such as roles. This information allows PostgreSQL to ensure that those objects are unreferenced before attempting to delete them.\n\nSee also pg_depend, which performs a similar function for dependencies involving objects within a single database.\n\nUnlike most system catalogs, pg_shdepend is shared across all databases of a cluster: there is only one copy of pg_shdepend per cluster, not one per database.","columns":[{"name":"dbid","type":"oid","description":"The OID of the database the dependent object is in, or zero for a shared object","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in (must be a shared catalog)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-shdepend.html","source_path":"sources/postgresql/18/catalog-pg-shdepend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_shdepend.h","definition_source_path":"sources/postgresql/18/source/pg_shdepend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1214,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_shdepend records the dependency relationships between database objects and shared objects, such as roles. This information allows PostgreSQL to ensure that those objects are unreferenced before attempting to delete them.\n\nSee also pg_depend, which performs a similar function for dependencies involving objects within a single database.\n\nUnlike most system catalogs, pg_shdepend is shared across all databases of a cluster: there is only one copy of pg_shdepend per cluster, not one per database.","columns":[{"name":"dbid","type":"oid","description":"The OID of the database the dependent object is in, or zero for a shared object","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classid","type":"oid","description":"The OID of the system catalog the dependent object is in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objid","type":"oid","description":"The OID of the specific dependent object","references":"any OID column","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"objsubid","type":"integer","description":"For a table column, this is the column number (the objid and classid refer to the table itself). For all other object types, this column is zero.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refclassid","type":"oid","description":"The OID of the system catalog the referenced object is in (must be a shared catalog)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"refobjid","type":"oid","description":"The OID of the specific referenced object","references":"any OID column","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"deptype","type":"\"char\"","description":"A code defining the specific semantics of this dependency relationship; see text","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-shdepend.html","source_path":"sources/postgresql/19/catalog-pg-shdepend.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_shdepend.h","definition_source_path":"sources/postgresql/19/source/pg_shdepend.h","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":1214,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"classid","from":"The OID of the system catalog the dependent object is in","to":"The OID of the system catalog the dependent object is in, or zero for a SHARED_DEPENDENCY_PIN entry"},{"name":"dbid","from":"The OID of the database the dependent object is in, or zero for a shared object","to":"The OID of the database the dependent object is in, or zero for a shared object or a SHARED_DEPENDENCY_PIN entry"},{"name":"objid","from":"The OID of the specific dependent object","to":"The OID of the specific dependent object, or zero for a SHARED_DEPENDENCY_PIN entry"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"classid","from":"The OID of the system catalog the dependent object is in, or zero for a SHARED_DEPENDENCY_PIN entry","to":"The OID of the system catalog the dependent object is in"},{"name":"dbid","from":"The OID of the database the dependent object is in, or zero for a shared object or a SHARED_DEPENDENCY_PIN entry","to":"The OID of the database the dependent object is in, or zero for a shared object"},{"name":"objid","from":"The OID of the specific dependent object, or zero for a SHARED_DEPENDENCY_PIN entry","to":"The OID of the specific dependent object"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_shdescription","kind":"catalog","summary":"comments on shared objects","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_shdescription stores optional descriptions (comments) for shared database objects. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands.\n\nSee also pg_description, which performs a similar function for descriptions involving objects within a single database.\n\nUnlike most system catalogs, pg_shdescription is shared across all databases of a cluster: there is only one copy of pg_shdescription per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-shdescription.html","source_path":"sources/postgresql/9.0/catalog-pg-shdescription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_shdescription.h","definition_source_path":"sources/postgresql/9.0/source/pg_shdescription.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2396,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_shdescription stores optional descriptions (comments) for shared database objects. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands.\n\nSee also pg_description, which performs a similar function for descriptions involving objects within a single database.\n\nUnlike most system catalogs, pg_shdescription is shared across all databases of a cluster: there is only one copy of pg_shdescription per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-shdescription.html","source_path":"sources/postgresql/9.1/catalog-pg-shdescription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_shdescription.h","definition_source_path":"sources/postgresql/9.1/source/pg_shdescription.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2396,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_shdescription stores optional descriptions (comments) for shared database objects. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands.\n\nSee also pg_description, which performs a similar function for descriptions involving objects within a single database.\n\nUnlike most system catalogs, pg_shdescription is shared across all databases of a cluster: there is only one copy of pg_shdescription per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-shdescription.html","source_path":"sources/postgresql/9.2/catalog-pg-shdescription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_shdescription.h","definition_source_path":"sources/postgresql/9.2/source/pg_shdescription.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2396,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_shdescription stores optional descriptions (comments) for shared database objects. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands.\n\nSee also pg_description, which performs a similar function for descriptions involving objects within a single database.\n\nUnlike most system catalogs, pg_shdescription is shared across all databases of a cluster: there is only one copy of pg_shdescription per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-shdescription.html","source_path":"sources/postgresql/9.3/catalog-pg-shdescription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_shdescription.h","definition_source_path":"sources/postgresql/9.3/source/pg_shdescription.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2396,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_shdescription stores optional descriptions (comments) for shared database objects. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands.\n\nSee also pg_description, which performs a similar function for descriptions involving objects within a single database.\n\nUnlike most system catalogs, pg_shdescription is shared across all databases of a cluster: there is only one copy of pg_shdescription per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-shdescription.html","source_path":"sources/postgresql/9.4/catalog-pg-shdescription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_shdescription.h","definition_source_path":"sources/postgresql/9.4/source/pg_shdescription.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2396,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_shdescription stores optional descriptions (comments) for shared database objects. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands.\n\nSee also pg_description, which performs a similar function for descriptions involving objects within a single database.\n\nUnlike most system catalogs, pg_shdescription is shared across all databases of a cluster: there is only one copy of pg_shdescription per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-shdescription.html","source_path":"sources/postgresql/9.5/catalog-pg-shdescription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_shdescription.h","definition_source_path":"sources/postgresql/9.5/source/pg_shdescription.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2396,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_shdescription stores optional descriptions (comments) for shared database objects. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands.\n\nSee also pg_description, which performs a similar function for descriptions involving objects within a single database.\n\nUnlike most system catalogs, pg_shdescription is shared across all databases of a cluster: there is only one copy of pg_shdescription per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-shdescription.html","source_path":"sources/postgresql/9.6/catalog-pg-shdescription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_shdescription.h","definition_source_path":"sources/postgresql/9.6/source/pg_shdescription.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2396,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_shdescription stores optional descriptions (comments) for shared database objects. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands.\n\nSee also pg_description, which performs a similar function for descriptions involving objects within a single database.\n\nUnlike most system catalogs, pg_shdescription is shared across all databases of a cluster: there is only one copy of pg_shdescription per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-shdescription.html","source_path":"sources/postgresql/10/catalog-pg-shdescription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_shdescription.h","definition_source_path":"sources/postgresql/10/source/pg_shdescription.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2396,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_shdescription stores optional descriptions (comments) for shared database objects. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands.\n\nSee also pg_description, which performs a similar function for descriptions involving objects within a single database.\n\nUnlike most system catalogs, pg_shdescription is shared across all databases of a cluster: there is only one copy of pg_shdescription per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-shdescription.html","source_path":"sources/postgresql/11/catalog-pg-shdescription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_shdescription.h","definition_source_path":"sources/postgresql/11/source/pg_shdescription.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2396,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_shdescription stores optional descriptions (comments) for shared database objects. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands.\n\nSee also pg_description, which performs a similar function for descriptions involving objects within a single database.\n\nUnlike most system catalogs, pg_shdescription is shared across all databases of a cluster: there is only one copy of pg_shdescription per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-shdescription.html","source_path":"sources/postgresql/12/catalog-pg-shdescription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_shdescription.h","definition_source_path":"sources/postgresql/12/source/pg_shdescription.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2396,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_shdescription stores optional descriptions (comments) for shared database objects. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands.\n\nSee also pg_description, which performs a similar function for descriptions involving objects within a single database.\n\nUnlike most system catalogs, pg_shdescription is shared across all databases of a cluster: there is only one copy of pg_shdescription per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-shdescription.html","source_path":"sources/postgresql/13/catalog-pg-shdescription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_shdescription.h","definition_source_path":"sources/postgresql/13/source/pg_shdescription.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2396,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_shdescription stores optional descriptions (comments) for shared database objects. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands.\n\nSee also pg_description, which performs a similar function for descriptions involving objects within a single database.\n\nUnlike most system catalogs, pg_shdescription is shared across all databases of a cluster: there is only one copy of pg_shdescription per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-shdescription.html","source_path":"sources/postgresql/14/catalog-pg-shdescription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_shdescription.h","definition_source_path":"sources/postgresql/14/source/pg_shdescription.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2396,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_shdescription stores optional descriptions (comments) for shared database objects. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands.\n\nSee also pg_description, which performs a similar function for descriptions involving objects within a single database.\n\nUnlike most system catalogs, pg_shdescription is shared across all databases of a cluster: there is only one copy of pg_shdescription per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-shdescription.html","source_path":"sources/postgresql/15/catalog-pg-shdescription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_shdescription.h","definition_source_path":"sources/postgresql/15/source/pg_shdescription.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2396,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_shdescription stores optional descriptions (comments) for shared database objects. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands.\n\nSee also pg_description, which performs a similar function for descriptions involving objects within a single database.\n\nUnlike most system catalogs, pg_shdescription is shared across all databases of a cluster: there is only one copy of pg_shdescription per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-shdescription.html","source_path":"sources/postgresql/16/catalog-pg-shdescription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_shdescription.h","definition_source_path":"sources/postgresql/16/source/pg_shdescription.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2396,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_shdescription stores optional descriptions (comments) for shared database objects. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands.\n\nSee also pg_description, which performs a similar function for descriptions involving objects within a single database.\n\nUnlike most system catalogs, pg_shdescription is shared across all databases of a cluster: there is only one copy of pg_shdescription per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-shdescription.html","source_path":"sources/postgresql/17/catalog-pg-shdescription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_shdescription.h","definition_source_path":"sources/postgresql/17/source/pg_shdescription.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2396,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_shdescription stores optional descriptions (comments) for shared database objects. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands.\n\nSee also pg_description, which performs a similar function for descriptions involving objects within a single database.\n\nUnlike most system catalogs, pg_shdescription is shared across all databases of a cluster: there is only one copy of pg_shdescription per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-shdescription.html","source_path":"sources/postgresql/18/catalog-pg-shdescription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_shdescription.h","definition_source_path":"sources/postgresql/18/source/pg_shdescription.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2396,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_shdescription stores optional descriptions (comments) for shared database objects. Descriptions can be manipulated with the COMMENT command and viewed with psql's \\d commands.\n\nSee also pg_description, which performs a similar function for descriptions involving objects within a single database.\n\nUnlike most system catalogs, pg_shdescription is shared across all databases of a cluster: there is only one copy of pg_shdescription per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this description pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"description","type":"text","description":"Arbitrary text that serves as the description of this object","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-shdescription.html","source_path":"sources/postgresql/19/catalog-pg-shdescription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_shdescription.h","definition_source_path":"sources/postgresql/19/source/pg_shdescription.h","source_column_count":3,"documentary_schema_source":"documentation","relation_oid":2396,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[{"name":"description","attribute":"not_null","from":false,"to":true}],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_shmem_allocations","kind":"view","summary":"The pg_shmem_allocations view shows allocations made from the server's main shared memory segment. This includes both memory allocated by PostgreSQL itself and memory allocated by extensions using the mechanisms detailed in Section 36.10.11.","first_version":"13","last_version":"19","versions":{"13":{"description":"The pg_shmem_allocations view shows allocations made from the server's main shared memory segment. This includes both memory allocated by postgres itself and memory allocated by extensions using the mechanisms detailed in Section 37.10.10.\n\nNote that this view does not include memory allocated using the dynamic shared memory infrastructure.","columns":[{"name":"name","type":"text","description":"The name of the shared memory allocation. NULL for unused memory and <anonymous> for anonymous allocations.","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"off","type":"bigint","description":"The offset at which the allocation starts. NULL for anonymous allocations, since details related to them are not known.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"size","type":"bigint","description":"Size of the allocation","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"allocated_size","type":"bigint","description":"Size of the allocation including padding. For anonymous allocations, no information about padding is available, so the size and allocated_size columns will always be equal. Padding is not meaningful for free memory, so the columns will be equal in that case also.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-shmem-allocations.html","source_path":"sources/postgresql/13/view-pg-shmem-allocations.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12185,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_shmem_allocations view shows allocations made from the server's main shared memory segment. This includes both memory allocated by postgres itself and memory allocated by extensions using the mechanisms detailed in Section 38.10.10.\n\nNote that this view does not include memory allocated using the dynamic shared memory infrastructure.","columns":[{"name":"name","type":"text","description":"The name of the shared memory allocation. NULL for unused memory and <anonymous> for anonymous allocations.","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"off","type":"bigint","description":"The offset at which the allocation starts. NULL for anonymous allocations, since details related to them are not known.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"size","type":"bigint","description":"Size of the allocation","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"allocated_size","type":"bigint","description":"Size of the allocation including padding. For anonymous allocations, no information about padding is available, so the size and allocated_size columns will always be equal. Padding is not meaningful for free memory, so the columns will be equal in that case also.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-shmem-allocations.html","source_path":"sources/postgresql/14/view-pg-shmem-allocations.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12347,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_shmem_allocations view shows allocations made from the server's main shared memory segment. This includes both memory allocated by PostgreSQL itself and memory allocated by extensions using the mechanisms detailed in Section 38.10.10.\n\nNote that this view does not include memory allocated using the dynamic shared memory infrastructure.","columns":[{"name":"name","type":"text","description":"The name of the shared memory allocation. NULL for unused memory and <anonymous> for anonymous allocations.","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"off","type":"bigint","description":"The offset at which the allocation starts. NULL for anonymous allocations, since details related to them are not known.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"size","type":"bigint","description":"Size of the allocation","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"allocated_size","type":"bigint","description":"Size of the allocation including padding. For anonymous allocations, no information about padding is available, so the size and allocated_size columns will always be equal. Padding is not meaningful for free memory, so the columns will be equal in that case also.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-shmem-allocations.html","source_path":"sources/postgresql/15/view-pg-shmem-allocations.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12134,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_shmem_allocations view shows allocations made from the server's main shared memory segment. This includes both memory allocated by PostgreSQL itself and memory allocated by extensions using the mechanisms detailed in Section 38.10.10.\n\nNote that this view does not include memory allocated using the dynamic shared memory infrastructure.","columns":[{"name":"name","type":"text","description":"The name of the shared memory allocation. NULL for unused memory and <anonymous> for anonymous allocations.","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"off","type":"bigint","description":"The offset at which the allocation starts. NULL for anonymous allocations, since details related to them are not known.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"size","type":"bigint","description":"Size of the allocation in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"allocated_size","type":"bigint","description":"Size of the allocation in bytes including padding. For anonymous allocations, no information about padding is available, so the size and allocated_size columns will always be equal. Padding is not meaningful for free memory, so the columns will be equal in that case also.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-shmem-allocations.html","source_path":"sources/postgresql/16/view-pg-shmem-allocations.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12134,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_shmem_allocations view shows allocations made from the server's main shared memory segment. This includes both memory allocated by PostgreSQL itself and memory allocated by extensions using the mechanisms detailed in Section 36.10.10.\n\nNote that this view does not include memory allocated using the dynamic shared memory infrastructure.","columns":[{"name":"name","type":"text","description":"The name of the shared memory allocation. NULL for unused memory and <anonymous> for anonymous allocations.","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"off","type":"bigint","description":"The offset at which the allocation starts. NULL for anonymous allocations, since details related to them are not known.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"size","type":"bigint","description":"Size of the allocation in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"allocated_size","type":"bigint","description":"Size of the allocation in bytes including padding. For anonymous allocations, no information about padding is available, so the size and allocated_size columns will always be equal. Padding is not meaningful for free memory, so the columns will be equal in that case also.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-shmem-allocations.html","source_path":"sources/postgresql/17/view-pg-shmem-allocations.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12134,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_shmem_allocations view shows allocations made from the server's main shared memory segment. This includes both memory allocated by PostgreSQL itself and memory allocated by extensions using the mechanisms detailed in Section 36.10.11.\n\nNote that this view does not include memory allocated using the dynamic shared memory infrastructure.","columns":[{"name":"name","type":"text","description":"The name of the shared memory allocation. NULL for unused memory and <anonymous> for anonymous allocations.","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"off","type":"bigint","description":"The offset at which the allocation starts. NULL for anonymous allocations, since details related to them are not known.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"size","type":"bigint","description":"Size of the allocation in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"allocated_size","type":"bigint","description":"Size of the allocation in bytes including padding. For anonymous allocations, no information about padding is available, so the size and allocated_size columns will always be equal. Padding is not meaningful for free memory, so the columns will be equal in that case also.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-shmem-allocations.html","source_path":"sources/postgresql/18/view-pg-shmem-allocations.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12134,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_shmem_allocations view shows allocations made from the server's main shared memory segment. This includes both memory allocated by PostgreSQL itself and memory allocated by extensions using the mechanisms detailed in Section 36.10.11.\n\nNote that this view does not include memory allocated using the dynamic shared memory infrastructure.","columns":[{"name":"name","type":"text","description":"The name of the shared memory allocation. NULL for unused memory and <anonymous> for anonymous allocations.","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"off","type":"bigint","description":"The offset at which the allocation starts. NULL for anonymous allocations, since details related to them are not known.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"size","type":"bigint","description":"Size of the allocation in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"allocated_size","type":"bigint","description":"Size of the allocation in bytes including padding. For anonymous allocations, no information about padding is available, so the size and allocated_size columns will always be equal. Padding is not meaningful for free memory, so the columns will be equal in that case also.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-shmem-allocations.html","source_path":"sources/postgresql/19/view-pg-shmem-allocations.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12139,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"12","to":"13","status":"added","added_columns":[{"name":"name","type":"text","description":"The name of the shared memory allocation. NULL for unused memory and <anonymous> for anonymous allocations.","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"off","type":"bigint","description":"The offset at which the allocation starts. NULL for anonymous allocations, since details related to them are not known.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"size","type":"bigint","description":"Size of the allocation","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"allocated_size","type":"bigint","description":"Size of the allocation including padding. For anonymous allocations, no information about padding is available, so the size and allocated_size columns will always be equal. Padding is not meaningful for free memory, so the columns will be equal in that case also.","documented_type":"int8","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"15","to":"16","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"allocated_size","from":"Size of the allocation including padding. For anonymous allocations, no information about padding is available, so the size and allocated_size columns will always be equal. Padding is not meaningful for free memory, so the columns will be equal in that case also.","to":"Size of the allocation in bytes including padding. For anonymous allocations, no information about padding is available, so the size and allocated_size columns will always be equal. Padding is not meaningful for free memory, so the columns will be equal in that case also."},{"name":"size","from":"Size of the allocation","to":"Size of the allocation in bytes"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"17","to":"18","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_shmem_allocations_numa","kind":"view","summary":"The pg_shmem_allocations_numa shows how shared memory allocations in the server's main shared memory segment are distributed across NUMA nodes. This includes both memory allocated by PostgreSQL itself and memory allocated by extensions using the mechanisms detailed in Section 36.10.11. This view will output multiple rows for each of the shared memory segments provided that they are spread across multiple NUMA nodes. This view should not be queried by monitoring systems as it is very slow and may end up allocating shared memory in case it was not used earlier. Current limitation for this view is that won't show anonymous shared memory allocations.","first_version":"18","last_version":"19","versions":{"18":{"description":"The pg_shmem_allocations_numa shows how shared memory allocations in the server's main shared memory segment are distributed across NUMA nodes. This includes both memory allocated by PostgreSQL itself and memory allocated by extensions using the mechanisms detailed in Section 36.10.11. This view will output multiple rows for each of the shared memory segments provided that they are spread across multiple NUMA nodes. This view should not be queried by monitoring systems as it is very slow and may end up allocating shared memory in case it was not used earlier. Current limitation for this view is that won't show anonymous shared memory allocations.\n\nNote that this view does not include memory allocated using the dynamic shared memory infrastructure.","columns":[{"name":"name","type":"text","description":"The name of the shared memory allocation.","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"numa_node","type":"integer","description":"ID of NUMA node","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"size","type":"bigint","description":"Size of the allocation on this particular NUMA memory node in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-shmem-allocations-numa.html","source_path":"sources/postgresql/18/view-pg-shmem-allocations-numa.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12138,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_shmem_allocations_numa shows how shared memory allocations in the server's main shared memory segment are distributed across NUMA nodes. This includes both memory allocated by PostgreSQL itself and memory allocated by extensions using the mechanisms detailed in Section 36.10.11. This view will output multiple rows for each of the shared memory segments provided that they are spread across multiple NUMA nodes. This view should not be queried by monitoring systems as it is very slow and may end up allocating shared memory in case it was not used earlier. Current limitation for this view is that won't show anonymous shared memory allocations.\n\nNote that this view does not include memory allocated using the dynamic shared memory infrastructure.","columns":[{"name":"name","type":"text","description":"The name of the shared memory allocation.","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"numa_node","type":"integer","description":"ID of NUMA node","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"size","type":"bigint","description":"Size of the allocation on this particular NUMA memory node in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-shmem-allocations-numa.html","source_path":"sources/postgresql/19/view-pg-shmem-allocations-numa.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12143,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"17","to":"18","status":"added","added_columns":[{"name":"name","type":"text","description":"The name of the shared memory allocation.","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"numa_node","type":"integer","description":"ID of NUMA node","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"size","type":"bigint","description":"Size of the allocation on this particular NUMA memory node in bytes","documented_type":"int8","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_shseclabel","kind":"catalog","summary":"security labels on shared database objects","first_version":"9.2","last_version":"19","versions":{"9.2":{"description":"The catalog pg_shseclabel stores security labels on shared database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 45.63.\n\nSee also pg_seclabel, which performs a similar function for security labels involving objects within a single database.\n\nUnlike most system catalogs, pg_shseclabel is shared across all databases of a cluster: there is only one copy of pg_shseclabel per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-shseclabel.html","source_path":"sources/postgresql/9.2/catalog-pg-shseclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_shseclabel.h","definition_source_path":"sources/postgresql/9.2/source/pg_shseclabel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3592,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_shseclabel stores security labels on shared database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 47.65.\n\nSee also pg_seclabel, which performs a similar function for security labels involving objects within a single database.\n\nUnlike most system catalogs, pg_shseclabel is shared across all databases of a cluster: there is only one copy of pg_shseclabel per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-shseclabel.html","source_path":"sources/postgresql/9.3/catalog-pg-shseclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_shseclabel.h","definition_source_path":"sources/postgresql/9.3/source/pg_shseclabel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3592,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_shseclabel stores security labels on shared database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 48.66.\n\nSee also pg_seclabel, which performs a similar function for security labels involving objects within a single database.\n\nUnlike most system catalogs, pg_shseclabel is shared across all databases of a cluster: there is only one copy of pg_shseclabel per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-shseclabel.html","source_path":"sources/postgresql/9.4/catalog-pg-shseclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_shseclabel.h","definition_source_path":"sources/postgresql/9.4/source/pg_shseclabel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3592,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_shseclabel stores security labels on shared database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 49.72.\n\nSee also pg_seclabel, which performs a similar function for security labels involving objects within a single database.\n\nUnlike most system catalogs, pg_shseclabel is shared across all databases of a cluster: there is only one copy of pg_shseclabel per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-shseclabel.html","source_path":"sources/postgresql/9.5/catalog-pg-shseclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_shseclabel.h","definition_source_path":"sources/postgresql/9.5/source/pg_shseclabel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3592,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_shseclabel stores security labels on shared database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 50.74.\n\nSee also pg_seclabel, which performs a similar function for security labels involving objects within a single database.\n\nUnlike most system catalogs, pg_shseclabel is shared across all databases of a cluster: there is only one copy of pg_shseclabel per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-shseclabel.html","source_path":"sources/postgresql/9.6/catalog-pg-shseclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_shseclabel.h","definition_source_path":"sources/postgresql/9.6/source/pg_shseclabel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3592,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_shseclabel stores security labels on shared database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 51.83.\n\nSee also pg_seclabel, which performs a similar function for security labels involving objects within a single database.\n\nUnlike most system catalogs, pg_shseclabel is shared across all databases of a cluster: there is only one copy of pg_shseclabel per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-shseclabel.html","source_path":"sources/postgresql/10/catalog-pg-shseclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_shseclabel.h","definition_source_path":"sources/postgresql/10/source/pg_shseclabel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3592,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_shseclabel stores security labels on shared database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 52.83.\n\nSee also pg_seclabel, which performs a similar function for security labels involving objects within a single database.\n\nUnlike most system catalogs, pg_shseclabel is shared across all databases of a cluster: there is only one copy of pg_shseclabel per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-shseclabel.html","source_path":"sources/postgresql/11/catalog-pg-shseclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_shseclabel.h","definition_source_path":"sources/postgresql/11/source/pg_shseclabel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3592,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_shseclabel stores security labels on shared database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 51.84.\n\nSee also pg_seclabel, which performs a similar function for security labels involving objects within a single database.\n\nUnlike most system catalogs, pg_shseclabel is shared across all databases of a cluster: there is only one copy of pg_shseclabel per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-shseclabel.html","source_path":"sources/postgresql/12/catalog-pg-shseclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_shseclabel.h","definition_source_path":"sources/postgresql/12/source/pg_shseclabel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3592,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_shseclabel stores security labels on shared database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 51.83.\n\nSee also pg_seclabel, which performs a similar function for security labels involving objects within a single database.\n\nUnlike most system catalogs, pg_shseclabel is shared across all databases of a cluster: there is only one copy of pg_shseclabel per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-shseclabel.html","source_path":"sources/postgresql/13/catalog-pg-shseclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_shseclabel.h","definition_source_path":"sources/postgresql/13/source/pg_shseclabel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3592,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_shseclabel stores security labels on shared database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 52.84.\n\nSee also pg_seclabel, which performs a similar function for security labels involving objects within a single database.\n\nUnlike most system catalogs, pg_shseclabel is shared across all databases of a cluster: there is only one copy of pg_shseclabel per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-shseclabel.html","source_path":"sources/postgresql/14/catalog-pg-shseclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_shseclabel.h","definition_source_path":"sources/postgresql/14/source/pg_shseclabel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3592,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_shseclabel stores security labels on shared database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 54.22.\n\nSee also pg_seclabel, which performs a similar function for security labels involving objects within a single database.\n\nUnlike most system catalogs, pg_shseclabel is shared across all databases of a cluster: there is only one copy of pg_shseclabel per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-shseclabel.html","source_path":"sources/postgresql/15/catalog-pg-shseclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_shseclabel.h","definition_source_path":"sources/postgresql/15/source/pg_shseclabel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3592,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_shseclabel stores security labels on shared database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 54.22.\n\nSee also pg_seclabel, which performs a similar function for security labels involving objects within a single database.\n\nUnlike most system catalogs, pg_shseclabel is shared across all databases of a cluster: there is only one copy of pg_shseclabel per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-shseclabel.html","source_path":"sources/postgresql/16/catalog-pg-shseclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_shseclabel.h","definition_source_path":"sources/postgresql/16/source/pg_shseclabel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3592,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_shseclabel stores security labels on shared database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 52.22.\n\nSee also pg_seclabel, which performs a similar function for security labels involving objects within a single database.\n\nUnlike most system catalogs, pg_shseclabel is shared across all databases of a cluster: there is only one copy of pg_shseclabel per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-shseclabel.html","source_path":"sources/postgresql/17/catalog-pg-shseclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_shseclabel.h","definition_source_path":"sources/postgresql/17/source/pg_shseclabel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3592,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_shseclabel stores security labels on shared database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 53.23.\n\nSee also pg_seclabel, which performs a similar function for security labels involving objects within a single database.\n\nUnlike most system catalogs, pg_shseclabel is shared across all databases of a cluster: there is only one copy of pg_shseclabel per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-shseclabel.html","source_path":"sources/postgresql/18/catalog-pg-shseclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_shseclabel.h","definition_source_path":"sources/postgresql/18/source/pg_shseclabel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3592,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_shseclabel stores security labels on shared database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier way to view security labels, see Section 53.25.\n\nSee also pg_seclabel, which performs a similar function for security labels involving objects within a single database.\n\nUnlike most system catalogs, pg_shseclabel is shared across all databases of a cluster: there is only one copy of pg_shseclabel per cluster, not one per database.","columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-shseclabel.html","source_path":"sources/postgresql/19/catalog-pg-shseclabel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_shseclabel.h","definition_source_path":"sources/postgresql/19/source/pg_shseclabel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3592,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"added","added_columns":[{"name":"objoid","type":"oid","description":"The OID of the object this security label pertains to","references":"any OID column","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"classoid","type":"oid","description":"The OID of the system catalog this object appears in","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"provider","type":"text","description":"The label provider associated with this label.","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"label","type":"text","description":"The security label applied to this object.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.3","to":"9.4","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[{"name":"label","attribute":"not_null","from":false,"to":true},{"name":"provider","attribute":"not_null","from":false,"to":true}],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"10","to":"11","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"17","to":"18","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_stat_activity","kind":"statistics","summary":"One row per server process, showing information related to the current activity of that process, such as state and current query. See pg_stat_activity for details.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"One row per server process, showing database OID, database name, process ID , user OID, user name, application name, client's address and port number, times at which the server process, current transaction, and current query began execution, process's waiting status, and text of the current query. The columns that report data on the current query are available unless the parameter track_activities has been turned off. Furthermore, these columns are only visible if the user examining the view is a superuser or the same as the user owning the process being reported on.","columns":[{"name":"datid","type":"oid","type_oid":26,"description":"OID of the database this backend is connected to","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L330","type_evidence":{"expression":"S.datid","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3024"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","type_oid":19,"description":"Name of the database this backend is connected to","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L330","type_evidence":{"expression":"D.datname","method":"catalog_name_column","catalog_field":"pg_database.datname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-database.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"procpid","type":"integer","type_oid":23,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L330","type_evidence":{"expression":"S.procpid","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3024"},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","type_oid":26,"description":"OID of the user logged into this backend","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L330","type_evidence":{"expression":"S.usesysid","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3024"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","type_oid":19,"description":"Name of the user logged into this backend","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L330","type_evidence":{"expression":"U.rolname","method":"catalog_name_column","catalog_field":"pg_authid.rolname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-authid.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","type_oid":25,"description":"Name of the application that is connected to this backend","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L330","type_evidence":{"expression":"S.application_name","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3024"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","type_oid":869,"description":"IP address of the client connected to this backend. If this field is null, it indicates either that the client is connected via a Unix socket on the server machine or that this is an internal process such as autovacuum.","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L330","type_evidence":{"expression":"S.client_addr","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3024"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","type_oid":23,"description":"TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L330","type_evidence":{"expression":"S.client_port","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3024"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","type_oid":1184,"description":"Time when this process was started, i.e., when the client connected to the server","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L330","type_evidence":{"expression":"S.backend_start","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3024"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_start","type":"timestamp with time zone","type_oid":1184,"description":"Time when this process' current transaction was started, or null if no transaction is active. If the current query is the first of its transaction, this column is equal to the query_start column.","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L330","type_evidence":{"expression":"S.xact_start","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3024"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_start","type":"timestamp with time zone","type_oid":1184,"description":"Time when the currently active query was started, or if state is not active , when the last query was started","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L330","type_evidence":{"expression":"S.query_start","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3024"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"waiting","type":"boolean","type_oid":16,"description":"True if this backend is currently waiting on a lock","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L330","type_evidence":{"expression":"S.waiting","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3024"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_query","type":"text","type_oid":25,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L330","type_evidence":{"expression":"S.current_query","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3024"},"hidden":false,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L330","documentation_url":"https://www.postgresql.org/docs/9.0/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_0_23","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.0/source/system_views.sql","source_column_count":13,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11058,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"One row per server process, showing database OID, database name, process ID , user OID, user name, application name, client's address, host name (if available), and port number, times at which the server process, current transaction, and current query began execution, process's waiting status, and text of the current query. The columns that report data on the current query are available unless the parameter track_activities has been turned off. Furthermore, these columns are only visible if the user examining the view is a superuser or the same as the user owning the process being reported on. The client's host name will be available only if log_hostname is set or if the user's host name needed to be looked up during pg_hba.conf processing.","columns":[{"name":"datid","type":"oid","type_oid":26,"description":"OID of the database this backend is connected to","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L489","type_evidence":{"expression":"S.datid","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","type_oid":19,"description":"Name of the database this backend is connected to","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L489","type_evidence":{"expression":"D.datname","method":"catalog_name_column","catalog_field":"pg_database.datname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-database.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"procpid","type":"integer","type_oid":23,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L489","type_evidence":{"expression":"S.procpid","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","type_oid":26,"description":"OID of the user logged into this backend","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L489","type_evidence":{"expression":"S.usesysid","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","type_oid":19,"description":"Name of the user logged into this backend","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L489","type_evidence":{"expression":"U.rolname","method":"catalog_name_column","catalog_field":"pg_authid.rolname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-authid.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","type_oid":25,"description":"Name of the application that is connected to this backend","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L489","type_evidence":{"expression":"S.application_name","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","type_oid":869,"description":"IP address of the client connected to this backend. If this field is null, it indicates either that the client is connected via a Unix socket on the server machine or that this is an internal process such as autovacuum.","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L489","type_evidence":{"expression":"S.client_addr","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","type_oid":25,"description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr . This field will only be non-null for IP connections, and only when log_hostname is enabled.","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L489","type_evidence":{"expression":"S.client_hostname","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","type_oid":23,"description":"TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L489","type_evidence":{"expression":"S.client_port","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","type_oid":1184,"description":"Time when this process was started, i.e., when the client connected to the server","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L489","type_evidence":{"expression":"S.backend_start","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_start","type":"timestamp with time zone","type_oid":1184,"description":"Time when this process' current transaction was started, or null if no transaction is active. If the current query is the first of its transaction, this column is equal to the query_start column.","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L489","type_evidence":{"expression":"S.xact_start","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_start","type":"timestamp with time zone","type_oid":1184,"description":"Time when the currently active query was started, or if state is not active , when the last query was started","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L489","type_evidence":{"expression":"S.query_start","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"waiting","type":"boolean","type_oid":16,"description":"True if this backend is currently waiting on a lock","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L489","type_evidence":{"expression":"S.waiting","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_query","type":"text","type_oid":25,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L489","type_evidence":{"expression":"S.current_query","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"hidden":false,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L489","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":14,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11095,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"datid","type":"oid","description":"OID of the database this backend is connected to","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database this backend is connected to","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of this backend","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this backend","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this backend","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this backend","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this backend. If this field is null, it indicates either that the client is connected via a Unix socket on the server machine or that this is an internal process such as autovacuum.","hidden":false,"type_oid":869,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started, i.e., when the client connected to the server","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_start","type":"timestamp with time zone","description":"Time when this process' current transaction was started, or null if no transaction is active. If the current query is the first of its transaction, this column is equal to the query_start column.","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_start","type":"timestamp with time zone","description":"Time when the currently active query was started, or if state is not active, when the last query was started","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state_change","type":"timestamp with time zone","description":"Time when the state was last changed","hidden":false,"type_oid":1184,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"waiting","type":"boolean","description":"True if this backend is currently waiting on a lock","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current overall state of this backend. Possible values are: active: The backend is executing a query. idle: The backend is waiting for a new client command. idle in transaction: The backend is in a transaction, but is not currently executing a query. idle in transaction (aborted): This state is similar to idle in transaction, except one of the statements in the transaction caused an error. fastpath function call: The backend is executing a fast-path function. disabled: This state is reported if track_activities is disabled in this backend.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query","type":"text","description":"Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed.","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","source_column_count":16,"documentary_schema_source":"documentation","relation_oid":11165,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"datid","type":"oid","description":"OID of the database this backend is connected to","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database this backend is connected to","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of this backend","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this backend","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this backend","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this backend","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this backend. If this field is null, it indicates either that the client is connected via a Unix socket on the server machine or that this is an internal process such as autovacuum.","hidden":false,"type_oid":869,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started, i.e., when the client connected to the server","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_start","type":"timestamp with time zone","description":"Time when this process' current transaction was started, or null if no transaction is active. If the current query is the first of its transaction, this column is equal to the query_start column.","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_start","type":"timestamp with time zone","description":"Time when the currently active query was started, or if state is not active, when the last query was started","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state_change","type":"timestamp with time zone","description":"Time when the state was last changed","hidden":false,"type_oid":1184,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"waiting","type":"boolean","description":"True if this backend is currently waiting on a lock","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current overall state of this backend. Possible values are: active: The backend is executing a query. idle: The backend is waiting for a new client command. idle in transaction: The backend is in a transaction, but is not currently executing a query. idle in transaction (aborted): This state is similar to idle in transaction, except one of the statements in the transaction caused an error. fastpath function call: The backend is executing a fast-path function. disabled: This state is reported if track_activities is disabled in this backend.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query","type":"text","description":"Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed.","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","source_column_count":16,"documentary_schema_source":"documentation","relation_oid":11186,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"datid","type":"oid","description":"OID of the database this backend is connected to","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database this backend is connected to","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of this backend","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this backend","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this backend","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this backend","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this backend. If this field is null, it indicates either that the client is connected via a Unix socket on the server machine or that this is an internal process such as autovacuum.","hidden":false,"type_oid":869,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started, i.e., when the client connected to the server","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_start","type":"timestamp with time zone","description":"Time when this process' current transaction was started, or null if no transaction is active. If the current query is the first of its transaction, this column is equal to the query_start column.","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_start","type":"timestamp with time zone","description":"Time when the currently active query was started, or if state is not active, when the last query was started","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state_change","type":"timestamp with time zone","description":"Time when the state was last changed","hidden":false,"type_oid":1184,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"waiting","type":"boolean","description":"True if this backend is currently waiting on a lock","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current overall state of this backend. Possible values are: active: The backend is executing a query. idle: The backend is waiting for a new client command. idle in transaction: The backend is in a transaction, but is not currently executing a query. idle in transaction (aborted): This state is similar to idle in transaction, except one of the statements in the transaction caused an error. fastpath function call: The backend is executing a fast-path function. disabled: This state is reported if track_activities is disabled in this backend.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xid","type":"xid","description":"Top-level transaction identifier of this backend, if any.","hidden":false,"type_oid":28,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"The current backend's xmin horizon.","hidden":false,"type_oid":28,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query","type":"text","description":"Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed.","hidden":false,"type_oid":25,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","source_column_count":18,"documentary_schema_source":"documentation","relation_oid":11283,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Several predefined views, listed in Table 27-1, are available to show the current state of the system. There are also several other views, listed in Table 27-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"datid","type":"oid","description":"OID of the database this backend is connected to","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database this backend is connected to","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of this backend","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this backend","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this backend","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this backend","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this backend. If this field is null, it indicates either that the client is connected via a Unix socket on the server machine or that this is an internal process such as autovacuum.","hidden":false,"type_oid":869,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started, i.e., when the client connected to the server","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_start","type":"timestamp with time zone","description":"Time when this process' current transaction was started, or null if no transaction is active. If the current query is the first of its transaction, this column is equal to the query_start column.","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_start","type":"timestamp with time zone","description":"Time when the currently active query was started, or if state is not active, when the last query was started","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state_change","type":"timestamp with time zone","description":"Time when the state was last changed","hidden":false,"type_oid":1184,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"waiting","type":"boolean","description":"True if this backend is currently waiting on a lock","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current overall state of this backend. Possible values are: active: The backend is executing a query. idle: The backend is waiting for a new client command. idle in transaction: The backend is in a transaction, but is not currently executing a query. idle in transaction (aborted): This state is similar to idle in transaction, except one of the statements in the transaction caused an error. fastpath function call: The backend is executing a fast-path function. disabled: This state is reported if track_activities is disabled in this backend.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xid","type":"xid","description":"Top-level transaction identifier of this backend, if any.","hidden":false,"type_oid":28,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"The current backend's xmin horizon.","hidden":false,"type_oid":28,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query","type":"text","description":"Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed.","hidden":false,"type_oid":25,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","source_column_count":18,"documentary_schema_source":"documentation","relation_oid":11772,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Several predefined views, listed in Table 28-1, are available to show the current state of the system. There are also several other views, listed in Table 28-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"datid","type":"oid","description":"OID of the database this backend is connected to","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database this backend is connected to","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of this backend","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this backend","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this backend","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this backend","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this backend. If this field is null, it indicates either that the client is connected via a Unix socket on the server machine or that this is an internal process such as autovacuum.","hidden":false,"type_oid":869,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started, i.e., when the client connected to the server","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_start","type":"timestamp with time zone","description":"Time when this process' current transaction was started, or null if no transaction is active. If the current query is the first of its transaction, this column is equal to the query_start column.","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_start","type":"timestamp with time zone","description":"Time when the currently active query was started, or if state is not active, when the last query was started","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state_change","type":"timestamp with time zone","description":"Time when the state was last changed","hidden":false,"type_oid":1184,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event_type","type":"text","description":"The type of event for which the backend is waiting, if any; otherwise NULL. Possible values are: LWLockNamed: The backend is waiting for a specific named lightweight lock. Each such lock protects a particular data structure in shared memory. wait_event will contain the name of the lightweight lock. LWLockTranche: The backend is waiting for one of a group of related lightweight locks. All locks in the group perform a similar function; wait_event will identify the general purpose of locks in that group. Lock: The backend is waiting for a heavyweight lock. Heavyweight locks, also known as lock manager locks or simply locks, primarily protect SQL-visible objects such as tables. However, they are also used to ensure mutual exclusion for certain internal operations such as relation extension. wait_event will identify the type of lock awaited. BufferPin: The server process is waiting to access to a data buffer during a period when no other process can be examining that buffer. Buffer pin waits can be protracted if another process holds an open cursor which last read data from the buffer in question.","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event","type":"text","description":"Wait event name if backend is currently waiting, otherwise NULL. See Table 28-4 for details.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current overall state of this backend. Possible values are: active: The backend is executing a query. idle: The backend is waiting for a new client command. idle in transaction: The backend is in a transaction, but is not currently executing a query. idle in transaction (aborted): This state is similar to idle in transaction, except one of the statements in the transaction caused an error. fastpath function call: The backend is executing a fast-path function. disabled: This state is reported if track_activities is disabled in this backend.","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xid","type":"xid","description":"Top-level transaction identifier of this backend, if any.","hidden":false,"type_oid":28,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"The current backend's xmin horizon.","hidden":false,"type_oid":28,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query","type":"text","description":"Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed.","hidden":false,"type_oid":25,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":11797,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"datid","type":"oid","description":"OID of the database this backend is connected to","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database this backend is connected to","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of this backend","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this backend","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this backend","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this backend","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this backend. If this field is null, it indicates either that the client is connected via a Unix socket on the server machine or that this is an internal process such as autovacuum.","hidden":false,"type_oid":869,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started. For client backends, this is the time the client connected to the server.","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_start","type":"timestamp with time zone","description":"Time when this process' current transaction was started, or null if no transaction is active. If the current query is the first of its transaction, this column is equal to the query_start column.","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_start","type":"timestamp with time zone","description":"Time when the currently active query was started, or if state is not active, when the last query was started","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state_change","type":"timestamp with time zone","description":"Time when the state was last changed","hidden":false,"type_oid":1184,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event_type","type":"text","description":"The type of event for which the backend is waiting, if any; otherwise NULL. Possible values are: LWLock: The backend is waiting for a lightweight lock. Each such lock protects a particular data structure in shared memory. wait_event will contain a name identifying the purpose of the lightweight lock. (Some locks have specific names; others are part of a group of locks each with a similar purpose.) Lock: The backend is waiting for a heavyweight lock. Heavyweight locks, also known as lock manager locks or simply locks, primarily protect SQL-visible objects such as tables. However, they are also used to ensure mutual exclusion for certain internal operations such as relation extension. wait_event will identify the type of lock awaited. BufferPin: The server process is waiting to access to a data buffer during a period when no other process can be examining that buffer. Buffer pin waits can be protracted if another process holds an open cursor which last read data from the buffer in question. Activity: The server process is idle. This is used by system processes waiting for activity in their main processing loop. wait_event will identify the specific wait point. Extension: The server process is waiting for activity in an extension module. This category is useful for modules to track custom waiting points. Client: The server process is waiting for some activity on a socket from user applications, and that the server expects something to happen that is independent from its internal processes. wait_event will identify the specific wait point. IPC: The server process is waiting for some activity from another process in the server. wait_event will identify the specific wait point. Timeout: The server process is waiting for a timeout to expire. wait_event will identify the specific wait point. IO: The server process is waiting for a IO to complete. wait_event will identify the specific wait point.","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event","type":"text","description":"Wait event name if backend is currently waiting, otherwise NULL. See Table 28.4 for details.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current overall state of this backend. Possible values are: active: The backend is executing a query. idle: The backend is waiting for a new client command. idle in transaction: The backend is in a transaction, but is not currently executing a query. idle in transaction (aborted): This state is similar to idle in transaction, except one of the statements in the transaction caused an error. fastpath function call: The backend is executing a fast-path function. disabled: This state is reported if track_activities is disabled in this backend.","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xid","type":"xid","description":"Top-level transaction identifier of this backend, if any.","hidden":false,"type_oid":28,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"The current backend's xmin horizon.","hidden":false,"type_oid":28,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query","type":"text","description":"Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed. By default the query text is truncated at 1024 bytes; this value can be changed via the parameter track_activity_query_size.","hidden":false,"type_oid":25,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_type","type":"text","description":"Type of current backend. Possible types are autovacuum launcher, autovacuum worker, background worker, background writer, client backend, checkpointer, startup, walreceiver, walsender and walwriter.","hidden":false,"type_oid":25,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","source_column_count":20,"documentary_schema_source":"documentation","relation_oid":11682,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"datid","type":"oid","description":"OID of the database this backend is connected to","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database this backend is connected to","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of this backend","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this backend","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this backend","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this backend","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this backend. If this field is null, it indicates either that the client is connected via a Unix socket on the server machine or that this is an internal process such as autovacuum.","hidden":false,"type_oid":869,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started. For client backends, this is the time the client connected to the server.","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_start","type":"timestamp with time zone","description":"Time when this process' current transaction was started, or null if no transaction is active. If the current query is the first of its transaction, this column is equal to the query_start column.","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_start","type":"timestamp with time zone","description":"Time when the currently active query was started, or if state is not active, when the last query was started","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state_change","type":"timestamp with time zone","description":"Time when the state was last changed","hidden":false,"type_oid":1184,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event_type","type":"text","description":"The type of event for which the backend is waiting, if any; otherwise NULL. Possible values are: LWLock: The backend is waiting for a lightweight lock. Each such lock protects a particular data structure in shared memory. wait_event will contain a name identifying the purpose of the lightweight lock. (Some locks have specific names; others are part of a group of locks each with a similar purpose.) Lock: The backend is waiting for a heavyweight lock. Heavyweight locks, also known as lock manager locks or simply locks, primarily protect SQL-visible objects such as tables. However, they are also used to ensure mutual exclusion for certain internal operations such as relation extension. wait_event will identify the type of lock awaited. BufferPin: The server process is waiting to access to a data buffer during a period when no other process can be examining that buffer. Buffer pin waits can be protracted if another process holds an open cursor which last read data from the buffer in question. Activity: The server process is idle. This is used by system processes waiting for activity in their main processing loop. wait_event will identify the specific wait point. Extension: The server process is waiting for activity in an extension module. This category is useful for modules to track custom waiting points. Client: The server process is waiting for some activity on a socket from user applications, and that the server expects something to happen that is independent from its internal processes. wait_event will identify the specific wait point. IPC: The server process is waiting for some activity from another process in the server. wait_event will identify the specific wait point. Timeout: The server process is waiting for a timeout to expire. wait_event will identify the specific wait point. IO: The server process is waiting for a IO to complete. wait_event will identify the specific wait point.","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event","type":"text","description":"Wait event name if backend is currently waiting, otherwise NULL. See Table 28.4 for details.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current overall state of this backend. Possible values are: active: The backend is executing a query. idle: The backend is waiting for a new client command. idle in transaction: The backend is in a transaction, but is not currently executing a query. idle in transaction (aborted): This state is similar to idle in transaction, except one of the statements in the transaction caused an error. fastpath function call: The backend is executing a fast-path function. disabled: This state is reported if track_activities is disabled in this backend.","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xid","type":"xid","description":"Top-level transaction identifier of this backend, if any.","hidden":false,"type_oid":28,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"The current backend's xmin horizon.","hidden":false,"type_oid":28,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query","type":"text","description":"Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed. By default the query text is truncated at 1024 bytes; this value can be changed via the parameter track_activity_query_size.","hidden":false,"type_oid":25,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_type","type":"text","description":"Type of current backend. Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, startup, walreceiver, walsender and walwriter. In addition, background workers registered by extensions may have additional types.","hidden":false,"type_oid":25,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","source_column_count":20,"documentary_schema_source":"documentation","relation_oid":11750,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Several predefined views, listed in Table 27.1, are available to show the current state of the system. There are also several other views, listed in Table 27.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nSome of the information in the dynamic statistics views shown in Table 27.1 is security restricted. Ordinary users can only see all the information about their own sessions (sessions belonging to a role that they are a member of). In rows about other sessions, many columns will be null. Note, however, that the existence of a session and its general properties such as its sessions user and database are visible to all users. Superusers and members of the built-in role pg_read_all_stats (see also Section 21.5) can see all the information about all sessions.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, plus one for the shared objects, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"datid","type":"oid","description":"OID of the database this backend is connected to","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database this backend is connected to","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of this backend","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this backend","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this backend","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this backend","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this backend. If this field is null, it indicates either that the client is connected via a Unix socket on the server machine or that this is an internal process such as autovacuum.","hidden":false,"type_oid":869,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started. For client backends, this is the time the client connected to the server.","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_start","type":"timestamp with time zone","description":"Time when this process' current transaction was started, or null if no transaction is active. If the current query is the first of its transaction, this column is equal to the query_start column.","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_start","type":"timestamp with time zone","description":"Time when the currently active query was started, or if state is not active, when the last query was started","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state_change","type":"timestamp with time zone","description":"Time when the state was last changed","hidden":false,"type_oid":1184,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event_type","type":"text","description":"The type of event for which the backend is waiting, if any; otherwise NULL. Possible values are: LWLock: The backend is waiting for a lightweight lock. Each such lock protects a particular data structure in shared memory. wait_event will contain a name identifying the purpose of the lightweight lock. (Some locks have specific names; others are part of a group of locks each with a similar purpose.) Lock: The backend is waiting for a heavyweight lock. Heavyweight locks, also known as lock manager locks or simply locks, primarily protect SQL-visible objects such as tables. However, they are also used to ensure mutual exclusion for certain internal operations such as relation extension. wait_event will identify the type of lock awaited. BufferPin: The server process is waiting to access to a data buffer during a period when no other process can be examining that buffer. Buffer pin waits can be protracted if another process holds an open cursor which last read data from the buffer in question. Activity: The server process is idle. This is used by system processes waiting for activity in their main processing loop. wait_event will identify the specific wait point. Extension: The server process is waiting for activity in an extension module. This category is useful for modules to track custom waiting points. Client: The server process is waiting for some activity on a socket from user applications, and that the server expects something to happen that is independent from its internal processes. wait_event will identify the specific wait point. IPC: The server process is waiting for some activity from another process in the server. wait_event will identify the specific wait point. Timeout: The server process is waiting for a timeout to expire. wait_event will identify the specific wait point. IO: The server process is waiting for a IO to complete. wait_event will identify the specific wait point.","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event","type":"text","description":"Wait event name if backend is currently waiting, otherwise NULL. See Table 27.4 for details.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current overall state of this backend. Possible values are: active: The backend is executing a query. idle: The backend is waiting for a new client command. idle in transaction: The backend is in a transaction, but is not currently executing a query. idle in transaction (aborted): This state is similar to idle in transaction, except one of the statements in the transaction caused an error. fastpath function call: The backend is executing a fast-path function. disabled: This state is reported if track_activities is disabled in this backend.","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xid","type":"xid","description":"Top-level transaction identifier of this backend, if any.","hidden":false,"type_oid":28,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"The current backend's xmin horizon.","hidden":false,"type_oid":28,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query","type":"text","description":"Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed. By default the query text is truncated at 1024 bytes; this value can be changed via the parameter track_activity_query_size.","hidden":false,"type_oid":25,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_type","type":"text","description":"Type of current backend. Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, startup, walreceiver, walsender and walwriter. In addition, background workers registered by extensions may have additional types.","hidden":false,"type_oid":25,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","source_column_count":20,"documentary_schema_source":"documentation","relation_oid":12248,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed:","columns":[{"name":"datid","type":"oid","description":"OID of the database this backend is connected to","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database this backend is connected to","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of this backend","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"leader_pid","type":"integer","description":"Process ID of the parallel group leader, if this process is a parallel query worker. NULL if this process is a parallel group leader or does not participate in parallel query.","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this backend","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this backend","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this backend","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this backend. If this field is null, it indicates either that the client is connected via a Unix socket on the server machine or that this is an internal process such as autovacuum.","hidden":false,"type_oid":869,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used. If this field is null, it indicates that this is an internal server process.","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started. For client backends, this is the time the client connected to the server.","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_start","type":"timestamp with time zone","description":"Time when this process' current transaction was started, or null if no transaction is active. If the current query is the first of its transaction, this column is equal to the query_start column.","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_start","type":"timestamp with time zone","description":"Time when the currently active query was started, or if state is not active, when the last query was started","hidden":false,"type_oid":1184,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state_change","type":"timestamp with time zone","description":"Time when the state was last changed","hidden":false,"type_oid":1184,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event_type","type":"text","description":"The type of event for which the backend is waiting, if any; otherwise NULL. See Table 27.4.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event","type":"text","description":"Wait event name if backend is currently waiting, otherwise NULL. See Table 27.5 through Table 27.13.","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current overall state of this backend. Possible values are:","hidden":false,"type_oid":25,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xid","type":"xid","description":"Top-level transaction identifier of this backend, if any.","hidden":false,"type_oid":28,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"The current backend's xmin horizon.","hidden":false,"type_oid":28,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query","type":"text","description":"Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed. By default the query text is truncated at 1024 bytes; this value can be changed via the parameter track_activity_query_size.","hidden":false,"type_oid":25,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_type","type":"text","description":"Type of current backend. Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, startup, walreceiver, walsender and walwriter. In addition, background workers registered by extensions may have additional types.","hidden":false,"type_oid":25,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":21,"documentary_schema_source":"documentation","relation_oid":12250,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed:","columns":[{"name":"datid","type":"oid","description":"OID of the database this backend is connected to","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database this backend is connected to","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of this backend","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"leader_pid","type":"integer","description":"Process ID of the parallel group leader, if this process is a parallel query worker. NULL if this process is a parallel group leader or does not participate in parallel query.","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this backend","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this backend","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this backend","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this backend. If this field is null, it indicates either that the client is connected via a Unix socket on the server machine or that this is an internal process such as autovacuum.","hidden":false,"type_oid":869,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used. If this field is null, it indicates that this is an internal server process.","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started. For client backends, this is the time the client connected to the server.","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_start","type":"timestamp with time zone","description":"Time when this process' current transaction was started, or null if no transaction is active. If the current query is the first of its transaction, this column is equal to the query_start column.","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_start","type":"timestamp with time zone","description":"Time when the currently active query was started, or if state is not active, when the last query was started","hidden":false,"type_oid":1184,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state_change","type":"timestamp with time zone","description":"Time when the state was last changed","hidden":false,"type_oid":1184,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event_type","type":"text","description":"The type of event for which the backend is waiting, if any; otherwise NULL. See Table 28.4.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event","type":"text","description":"Wait event name if backend is currently waiting, otherwise NULL. See Table 28.5 through Table 28.13.","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current overall state of this backend. Possible values are:","hidden":false,"type_oid":25,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xid","type":"xid","description":"Top-level transaction identifier of this backend, if any.","hidden":false,"type_oid":28,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"The current backend's xmin horizon.","hidden":false,"type_oid":28,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_id","type":"bigint","description":"Identifier of this backend's most recent query. If state is active this field shows the identifier of the currently executing query. In all other states, it shows the identifier of last query that was executed. Query identifiers are not computed by default so this field will be null unless compute_query_id parameter is enabled or a third-party module that computes query identifiers is configured.","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query","type":"text","description":"Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed. By default the query text is truncated at 1024 bytes; this value can be changed via the parameter track_activity_query_size.","hidden":false,"type_oid":25,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_type","type":"text","description":"Type of current backend. Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, archiver, startup, walreceiver, walsender and walwriter. In addition, background workers registered by extensions may have additional types.","hidden":false,"type_oid":25,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":12435,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed:","columns":[{"name":"datid","type":"oid","description":"OID of the database this backend is connected to","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database this backend is connected to","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of this backend","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"leader_pid","type":"integer","description":"Process ID of the parallel group leader, if this process is a parallel query worker. NULL if this process is a parallel group leader or does not participate in parallel query.","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this backend","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this backend","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this backend","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this backend. If this field is null, it indicates either that the client is connected via a Unix socket on the server machine or that this is an internal process such as autovacuum.","hidden":false,"type_oid":869,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used. If this field is null, it indicates that this is an internal server process.","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started. For client backends, this is the time the client connected to the server.","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_start","type":"timestamp with time zone","description":"Time when this process' current transaction was started, or null if no transaction is active. If the current query is the first of its transaction, this column is equal to the query_start column.","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_start","type":"timestamp with time zone","description":"Time when the currently active query was started, or if state is not active, when the last query was started","hidden":false,"type_oid":1184,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state_change","type":"timestamp with time zone","description":"Time when the state was last changed","hidden":false,"type_oid":1184,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event_type","type":"text","description":"The type of event for which the backend is waiting, if any; otherwise NULL. See Table 28.4.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event","type":"text","description":"Wait event name if backend is currently waiting, otherwise NULL. See Table 28.5 through Table 28.13.","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current overall state of this backend. Possible values are:","hidden":false,"type_oid":25,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xid","type":"xid","description":"Top-level transaction identifier of this backend, if any.","hidden":false,"type_oid":28,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"The current backend's xmin horizon.","hidden":false,"type_oid":28,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_id","type":"bigint","description":"Identifier of this backend's most recent query. If state is active this field shows the identifier of the currently executing query. In all other states, it shows the identifier of last query that was executed. Query identifiers are not computed by default so this field will be null unless compute_query_id parameter is enabled or a third-party module that computes query identifiers is configured.","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query","type":"text","description":"Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed. By default the query text is truncated at 1024 bytes; this value can be changed via the parameter track_activity_query_size.","hidden":false,"type_oid":25,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_type","type":"text","description":"Type of current backend. Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, archiver, startup, walreceiver, walsender and walwriter. In addition, background workers registered by extensions may have additional types.","hidden":false,"type_oid":25,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":12222,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed:","columns":[{"name":"datid","type":"oid","description":"OID of the database this backend is connected to","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database this backend is connected to","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of this backend","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"leader_pid","type":"integer","description":"Process ID of the parallel group leader if this process is a parallel query worker, or process ID of the leader apply worker if this process is a parallel apply worker. NULL indicates that this process is a parallel group leader or leader apply worker, or does not participate in any parallel operation.","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this backend","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this backend","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this backend","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this backend. If this field is null, it indicates either that the client is connected via a Unix socket on the server machine or that this is an internal process such as autovacuum.","hidden":false,"type_oid":869,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used. If this field is null, it indicates that this is an internal server process.","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started. For client backends, this is the time the client connected to the server.","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_start","type":"timestamp with time zone","description":"Time when this process' current transaction was started, or null if no transaction is active. If the current query is the first of its transaction, this column is equal to the query_start column.","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_start","type":"timestamp with time zone","description":"Time when the currently active query was started, or if state is not active, when the last query was started","hidden":false,"type_oid":1184,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state_change","type":"timestamp with time zone","description":"Time when the state was last changed","hidden":false,"type_oid":1184,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event_type","type":"text","description":"The type of event for which the backend is waiting, if any; otherwise NULL. See Table 28.4.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event","type":"text","description":"Wait event name if backend is currently waiting, otherwise NULL. See Table 28.5 through Table 28.13.","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current overall state of this backend. Possible values are:","hidden":false,"type_oid":25,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xid","type":"xid","description":"Top-level transaction identifier of this backend, if any; see Section 74.1.","hidden":false,"type_oid":28,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"The current backend's xmin horizon.","hidden":false,"type_oid":28,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_id","type":"bigint","description":"Identifier of this backend's most recent query. If state is active this field shows the identifier of the currently executing query. In all other states, it shows the identifier of last query that was executed. Query identifiers are not computed by default so this field will be null unless compute_query_id parameter is enabled or a third-party module that computes query identifiers is configured.","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query","type":"text","description":"Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed. By default the query text is truncated at 1024 bytes; this value can be changed via the parameter track_activity_query_size.","hidden":false,"type_oid":25,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_type","type":"text","description":"Type of current backend. Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, archiver, standalone backend, startup, walreceiver, walsender and walwriter. In addition, background workers registered by extensions may have additional types.","hidden":false,"type_oid":25,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":12222,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere are examples of how wait events can be viewed:","columns":[{"name":"datid","type":"oid","description":"OID of the database this backend is connected to","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database this backend is connected to","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of this backend","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"leader_pid","type":"integer","description":"Process ID of the parallel group leader if this process is a parallel query worker, or process ID of the leader apply worker if this process is a parallel apply worker. NULL indicates that this process is a parallel group leader or leader apply worker, or does not participate in any parallel operation.","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this backend","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this backend","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this backend","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this backend. If this field is null, it indicates either that the client is connected via a Unix socket on the server machine or that this is an internal process such as autovacuum.","hidden":false,"type_oid":869,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used. If this field is null, it indicates that this is an internal server process.","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started. For client backends, this is the time the client connected to the server.","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_start","type":"timestamp with time zone","description":"Time when this process' current transaction was started, or null if no transaction is active. If the current query is the first of its transaction, this column is equal to the query_start column.","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_start","type":"timestamp with time zone","description":"Time when the currently active query was started, or if state is not active, when the last query was started","hidden":false,"type_oid":1184,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state_change","type":"timestamp with time zone","description":"Time when the state was last changed","hidden":false,"type_oid":1184,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event_type","type":"text","description":"The type of event for which the backend is waiting, if any; otherwise NULL. See Table 27.4.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event","type":"text","description":"Wait event name if backend is currently waiting, otherwise NULL. See Table 27.5 through Table 27.13.","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current overall state of this backend. Possible values are:","hidden":false,"type_oid":25,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xid","type":"xid","description":"Top-level transaction identifier of this backend, if any; see Section 66.1.","hidden":false,"type_oid":28,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"The current backend's xmin horizon.","hidden":false,"type_oid":28,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_id","type":"bigint","description":"Identifier of this backend's most recent query. If state is active this field shows the identifier of the currently executing query. In all other states, it shows the identifier of last query that was executed. Query identifiers are not computed by default so this field will be null unless compute_query_id parameter is enabled or a third-party module that computes query identifiers is configured.","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query","type":"text","description":"Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed. By default the query text is truncated at 1024 bytes; this value can be changed via the parameter track_activity_query_size.","hidden":false,"type_oid":25,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_type","type":"text","description":"Type of current backend. Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, archiver, standalone backend, startup, walreceiver, walsender, walwriter and walsummarizer. In addition, background workers registered by extensions may have additional types.","hidden":false,"type_oid":25,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":12222,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere are examples of how wait events can be viewed:","columns":[{"name":"datid","type":"oid","description":"OID of the database this backend is connected to","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database this backend is connected to","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of this backend","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"leader_pid","type":"integer","description":"Process ID of the parallel group leader if this process is a parallel query worker, or process ID of the leader apply worker if this process is a parallel apply worker. NULL indicates that this process is a parallel group leader or leader apply worker, or does not participate in any parallel operation.","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this backend","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this backend","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this backend","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this backend. If this field is null, it indicates either that the client is connected via a Unix socket on the server machine or that this is an internal process such as autovacuum.","hidden":false,"type_oid":869,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used. If this field is null, it indicates that this is an internal server process.","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started. For client backends, this is the time the client connected to the server.","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_start","type":"timestamp with time zone","description":"Time when this process' current transaction was started, or null if no transaction is active. If the current query is the first of its transaction, this column is equal to the query_start column.","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_start","type":"timestamp with time zone","description":"Time when the currently active query was started, or if state is not active, when the last query was started","hidden":false,"type_oid":1184,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state_change","type":"timestamp with time zone","description":"Time when the state was last changed","hidden":false,"type_oid":1184,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event_type","type":"text","description":"The type of event for which the backend is waiting, if any; otherwise NULL. See Table 27.4.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event","type":"text","description":"Wait event name if backend is currently waiting, otherwise NULL. See Table 27.5 through Table 27.13.","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current overall state of this backend. Possible values are:","hidden":false,"type_oid":25,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xid","type":"xid","description":"Top-level transaction identifier of this backend, if any; see Section 67.1.","hidden":false,"type_oid":28,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"The current backend's xmin horizon.","hidden":false,"type_oid":28,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_id","type":"bigint","description":"Identifier of this backend's most recent query. If state is active this field shows the identifier of the currently executing query. In all other states, it shows the identifier of last query that was executed. Query identifiers are not computed by default so this field will be null unless compute_query_id parameter is enabled or a third-party module that computes query identifiers is configured.","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query","type":"text","description":"Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed. By default the query text is truncated at 1024 bytes; this value can be changed via the parameter track_activity_query_size.","hidden":false,"type_oid":25,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_type","type":"text","description":"Type of current backend. Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, archiver, standalone backend, startup, walreceiver, walsender, walwriter and walsummarizer. In addition, background workers registered by extensions may have additional types.","hidden":false,"type_oid":25,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":12226,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere are examples of how wait events can be viewed:","columns":[{"name":"datid","type":"oid","description":"OID of the database this backend is connected to","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database this backend is connected to","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of this backend","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"leader_pid","type":"integer","description":"Process ID of the parallel group leader if this process is a parallel query worker, or process ID of the leader apply worker if this process is a parallel apply worker. NULL indicates that this process is a parallel group leader or leader apply worker, or does not participate in any parallel operation.","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this backend","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this backend","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this backend","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this backend. If this field is null, it indicates either that the client is connected via a Unix socket on the server machine or that this is an internal process such as autovacuum.","hidden":false,"type_oid":869,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used. If this field is null, it indicates that this is an internal server process.","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started. For client backends, this is the time the client connected to the server.","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_start","type":"timestamp with time zone","description":"Time when this process' current transaction was started, or null if no transaction is active. If the current query is the first of its transaction, this column is equal to the query_start column.","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_start","type":"timestamp with time zone","description":"Time when the currently active query was started, or if state is not active, when the last query was started","hidden":false,"type_oid":1184,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state_change","type":"timestamp with time zone","description":"Time when the state was last changed","hidden":false,"type_oid":1184,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event_type","type":"text","description":"The type of event for which the backend is waiting, if any; otherwise NULL. See Table 27.4.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event","type":"text","description":"Wait event name if backend is currently waiting, otherwise NULL. See Table 27.5 through Table 27.13.","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current overall state of this backend. Possible values are:","hidden":false,"type_oid":25,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xid","type":"xid","description":"Top-level transaction identifier of this backend, if any; see Section 67.1.","hidden":false,"type_oid":28,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"The current backend's xmin horizon.","hidden":false,"type_oid":28,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query_id","type":"bigint","description":"Identifier of this backend's most recent query. If state is active this field shows the identifier of the currently executing query. In all other states, it shows the identifier of last query that was executed. Query identifiers are not computed by default so this field will be null unless compute_query_id parameter is enabled or a third-party module that computes query identifiers is configured.","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query","type":"text","description":"Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed. By default the query text is truncated at 1024 bytes; this value can be changed via the parameter track_activity_query_size.","hidden":false,"type_oid":25,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_type","type":"text","description":"Type of current backend. Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, archiver, standalone backend, startup, walreceiver, walsender, walwriter and walsummarizer. In addition, background workers registered by extensions may have additional types.","hidden":false,"type_oid":25,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":12240,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[{"name":"client_hostname","type":"text","type_oid":25,"description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr . This field will only be non-null for IP connections, and only when log_hostname is enabled.","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L489","type_evidence":{"expression":"S.client_hostname","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[{"name":"pid","type":"integer","description":"Process ID of this backend","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state_change","type":"timestamp with time zone","description":"Time when the state was last changed","hidden":false,"type_oid":1184,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current overall state of this backend. Possible values are: active: The backend is executing a query. idle: The backend is waiting for a new client command. idle in transaction: The backend is in a transaction, but is not currently executing a query. idle in transaction (aborted): This state is similar to idle in transaction, except one of the statements in the transaction caused an error. fastpath function call: The backend is executing a fast-path function. disabled: This state is reported if track_activities is disabled in this backend.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"query","type":"text","description":"Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed.","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[{"name":"procpid","type":"integer","type_oid":23,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L489","type_evidence":{"expression":"S.procpid","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_query","type":"text","type_oid":25,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L489","type_evidence":{"expression":"S.current_query","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"hidden":false,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[{"name":"client_hostname","from":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr . This field will only be non-null for IP connections, and only when log_hostname is enabled.","to":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled."},{"name":"query_start","from":"Time when the currently active query was started, or if state is not active , when the last query was started","to":"Time when the currently active query was started, or if state is not active, when the last query was started"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.3","to":"9.4","status":"changed","added_columns":[{"name":"backend_xid","type":"xid","description":"Top-level transaction identifier of this backend, if any.","hidden":false,"type_oid":28,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"The current backend's xmin horizon.","hidden":false,"type_oid":28,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[{"name":"wait_event_type","type":"text","description":"The type of event for which the backend is waiting, if any; otherwise NULL. Possible values are: LWLockNamed: The backend is waiting for a specific named lightweight lock. Each such lock protects a particular data structure in shared memory. wait_event will contain the name of the lightweight lock. LWLockTranche: The backend is waiting for one of a group of related lightweight locks. All locks in the group perform a similar function; wait_event will identify the general purpose of locks in that group. Lock: The backend is waiting for a heavyweight lock. Heavyweight locks, also known as lock manager locks or simply locks, primarily protect SQL-visible objects such as tables. However, they are also used to ensure mutual exclusion for certain internal operations such as relation extension. wait_event will identify the type of lock awaited. BufferPin: The server process is waiting to access to a data buffer during a period when no other process can be examining that buffer. Buffer pin waits can be protracted if another process holds an open cursor which last read data from the buffer in question.","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_event","type":"text","description":"Wait event name if backend is currently waiting, otherwise NULL. See Table 28-4 for details.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[{"name":"waiting","type":"boolean","description":"True if this backend is currently waiting on a lock","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.6","to":"10","status":"changed","added_columns":[{"name":"backend_type","type":"text","description":"Type of current backend. Possible types are autovacuum launcher, autovacuum worker, background worker, background writer, client backend, checkpointer, startup, walreceiver, walsender and walwriter.","hidden":false,"type_oid":25,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"backend_start","from":"Time when this process was started, i.e., when the client connected to the server","to":"Time when this process was started. For client backends, this is the time the client connected to the server."},{"name":"query","from":"Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed.","to":"Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed. By default the query text is truncated at 1024 bytes; this value can be changed via the parameter track_activity_query_size."},{"name":"wait_event","from":"Wait event name if backend is currently waiting, otherwise NULL. See Table 28-4 for details.","to":"Wait event name if backend is currently waiting, otherwise NULL. See Table 28.4 for details."},{"name":"wait_event_type","from":"The type of event for which the backend is waiting, if any; otherwise NULL. Possible values are: LWLockNamed: The backend is waiting for a specific named lightweight lock. Each such lock protects a particular data structure in shared memory. wait_event will contain the name of the lightweight lock. LWLockTranche: The backend is waiting for one of a group of related lightweight locks. All locks in the group perform a similar function; wait_event will identify the general purpose of locks in that group. Lock: The backend is waiting for a heavyweight lock. Heavyweight locks, also known as lock manager locks or simply locks, primarily protect SQL-visible objects such as tables. However, they are also used to ensure mutual exclusion for certain internal operations such as relation extension. wait_event will identify the type of lock awaited. BufferPin: The server process is waiting to access to a data buffer during a period when no other process can be examining that buffer. Buffer pin waits can be protracted if another process holds an open cursor which last read data from the buffer in question.","to":"The type of event for which the backend is waiting, if any; otherwise NULL. Possible values are: LWLock: The backend is waiting for a lightweight lock. Each such lock protects a particular data structure in shared memory. wait_event will contain a name identifying the purpose of the lightweight lock. (Some locks have specific names; others are part of a group of locks each with a similar purpose.) Lock: The backend is waiting for a heavyweight lock. Heavyweight locks, also known as lock manager locks or simply locks, primarily protect SQL-visible objects such as tables. However, they are also used to ensure mutual exclusion for certain internal operations such as relation extension. wait_event will identify the type of lock awaited. BufferPin: The server process is waiting to access to a data buffer during a period when no other process can be examining that buffer. Buffer pin waits can be protracted if another process holds an open cursor which last read data from the buffer in question. Activity: The server process is idle. This is used by system processes waiting for activity in their main processing loop. wait_event will identify the specific wait point. Extension: The server process is waiting for activity in an extension module. This category is useful for modules to track custom waiting points. Client: The server process is waiting for some activity on a socket from user applications, and that the server expects something to happen that is independent from its internal processes. wait_event will identify the specific wait point. IPC: The server process is waiting for some activity from another process in the server. wait_event will identify the specific wait point. Timeout: The server process is waiting for a timeout to expire. wait_event will identify the specific wait point. IO: The server process is waiting for a IO to complete. wait_event will identify the specific wait point."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"10","to":"11","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"backend_type","from":"Type of current backend. Possible types are autovacuum launcher, autovacuum worker, background worker, background writer, client backend, checkpointer, startup, walreceiver, walsender and walwriter.","to":"Type of current backend. Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, startup, walreceiver, walsender and walwriter. In addition, background workers registered by extensions may have additional types."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"wait_event","from":"Wait event name if backend is currently waiting, otherwise NULL. See Table 28.4 for details.","to":"Wait event name if backend is currently waiting, otherwise NULL. See Table 27.4 for details."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"changed","added_columns":[{"name":"leader_pid","type":"integer","description":"Process ID of the parallel group leader, if this process is a parallel query worker. NULL if this process is a parallel group leader or does not participate in parallel query.","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"client_port","from":"TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used","to":"TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used. If this field is null, it indicates that this is an internal server process."},{"name":"state","from":"Current overall state of this backend. Possible values are: active: The backend is executing a query. idle: The backend is waiting for a new client command. idle in transaction: The backend is in a transaction, but is not currently executing a query. idle in transaction (aborted): This state is similar to idle in transaction, except one of the statements in the transaction caused an error. fastpath function call: The backend is executing a fast-path function. disabled: This state is reported if track_activities is disabled in this backend.","to":"Current overall state of this backend. Possible values are:"},{"name":"wait_event","from":"Wait event name if backend is currently waiting, otherwise NULL. See Table 27.4 for details.","to":"Wait event name if backend is currently waiting, otherwise NULL. See Table 27.5 through Table 27.13."},{"name":"wait_event_type","from":"The type of event for which the backend is waiting, if any; otherwise NULL. Possible values are: LWLock: The backend is waiting for a lightweight lock. Each such lock protects a particular data structure in shared memory. wait_event will contain a name identifying the purpose of the lightweight lock. (Some locks have specific names; others are part of a group of locks each with a similar purpose.) Lock: The backend is waiting for a heavyweight lock. Heavyweight locks, also known as lock manager locks or simply locks, primarily protect SQL-visible objects such as tables. However, they are also used to ensure mutual exclusion for certain internal operations such as relation extension. wait_event will identify the type of lock awaited. BufferPin: The server process is waiting to access to a data buffer during a period when no other process can be examining that buffer. Buffer pin waits can be protracted if another process holds an open cursor which last read data from the buffer in question. Activity: The server process is idle. This is used by system processes waiting for activity in their main processing loop. wait_event will identify the specific wait point. Extension: The server process is waiting for activity in an extension module. This category is useful for modules to track custom waiting points. Client: The server process is waiting for some activity on a socket from user applications, and that the server expects something to happen that is independent from its internal processes. wait_event will identify the specific wait point. IPC: The server process is waiting for some activity from another process in the server. wait_event will identify the specific wait point. Timeout: The server process is waiting for a timeout to expire. wait_event will identify the specific wait point. IO: The server process is waiting for a IO to complete. wait_event will identify the specific wait point.","to":"The type of event for which the backend is waiting, if any; otherwise NULL. See Table 27.4."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[{"name":"query_id","type":"bigint","description":"Identifier of this backend's most recent query. If state is active this field shows the identifier of the currently executing query. In all other states, it shows the identifier of last query that was executed. Query identifiers are not computed by default so this field will be null unless compute_query_id parameter is enabled or a third-party module that computes query identifiers is configured.","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"backend_type","from":"Type of current backend. Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, startup, walreceiver, walsender and walwriter. In addition, background workers registered by extensions may have additional types.","to":"Type of current backend. Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, archiver, startup, walreceiver, walsender and walwriter. In addition, background workers registered by extensions may have additional types."},{"name":"wait_event","from":"Wait event name if backend is currently waiting, otherwise NULL. See Table 27.5 through Table 27.13.","to":"Wait event name if backend is currently waiting, otherwise NULL. See Table 28.5 through Table 28.13."},{"name":"wait_event_type","from":"The type of event for which the backend is waiting, if any; otherwise NULL. See Table 27.4.","to":"The type of event for which the backend is waiting, if any; otherwise NULL. See Table 28.4."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"15","to":"16","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"backend_type","from":"Type of current backend. Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, archiver, startup, walreceiver, walsender and walwriter. In addition, background workers registered by extensions may have additional types.","to":"Type of current backend. Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, archiver, standalone backend, startup, walreceiver, walsender and walwriter. In addition, background workers registered by extensions may have additional types."},{"name":"backend_xid","from":"Top-level transaction identifier of this backend, if any.","to":"Top-level transaction identifier of this backend, if any; see Section 74.1."},{"name":"leader_pid","from":"Process ID of the parallel group leader, if this process is a parallel query worker. NULL if this process is a parallel group leader or does not participate in parallel query.","to":"Process ID of the parallel group leader if this process is a parallel query worker, or process ID of the leader apply worker if this process is a parallel apply worker. NULL indicates that this process is a parallel group leader or leader apply worker, or does not participate in any parallel operation."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"backend_type","from":"Type of current backend. Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, archiver, standalone backend, startup, walreceiver, walsender and walwriter. In addition, background workers registered by extensions may have additional types.","to":"Type of current backend. Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, archiver, standalone backend, startup, walreceiver, walsender, walwriter and walsummarizer. In addition, background workers registered by extensions may have additional types."},{"name":"backend_xid","from":"Top-level transaction identifier of this backend, if any; see Section 74.1.","to":"Top-level transaction identifier of this backend, if any; see Section 66.1."},{"name":"wait_event","from":"Wait event name if backend is currently waiting, otherwise NULL. See Table 28.5 through Table 28.13.","to":"Wait event name if backend is currently waiting, otherwise NULL. See Table 27.5 through Table 27.13."},{"name":"wait_event_type","from":"The type of event for which the backend is waiting, if any; otherwise NULL. See Table 28.4.","to":"The type of event for which the backend is waiting, if any; otherwise NULL. See Table 27.4."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"17","to":"18","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"backend_xid","from":"Top-level transaction identifier of this backend, if any; see Section 66.1.","to":"Top-level transaction identifier of this backend, if any; see Section 67.1."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_stat_all_indexes","kind":"statistics","summary":"One row for each index in the current database, showing statistics about accesses to that specific index. See pg_stat_all_indexes for details.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"For each index in the current database, the table and index OID, schema, table and index name, number of index scans initiated on that index, number of index entries returned by index scans, and number of live table rows fetched by simple index scans using that index.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L256","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","type_oid":26,"description":"OID of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L256","type_evidence":{"expression":"I.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema this index is in","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L256","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-namespace.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L256","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","type_oid":19,"description":"Name of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L256","type_evidence":{"expression":"I.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","type_oid":20,"description":"Number of index scans initiated on this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L256","type_evidence":{"expression":"pg_stat_get_numscans(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2992"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","type_oid":20,"description":"Number of index entries returned by scans on this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L256","type_evidence":{"expression":"pg_stat_get_tuples_returned(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_returned","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2994"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","type_oid":20,"description":"Number of live table rows fetched by simple index scans using this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L256","type_evidence":{"expression":"pg_stat_get_tuples_fetched(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2996"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L256","documentation_url":"https://www.postgresql.org/docs/9.0/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_0_23","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.0/source/system_views.sql","source_column_count":8,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11029,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"For each index in the current database, the table and index OID, schema, table and index name, number of index scans initiated on that index, number of index entries returned by index scans, and number of live table rows fetched by simple index scans using that index.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L415","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","type_oid":26,"description":"OID of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L415","type_evidence":{"expression":"I.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema this index is in","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L415","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L415","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","type_oid":19,"description":"Name of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L415","type_evidence":{"expression":"I.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","type_oid":20,"description":"Number of index scans initiated on this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L415","type_evidence":{"expression":"pg_stat_get_numscans(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2507"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","type_oid":20,"description":"Number of index entries returned by scans on this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L415","type_evidence":{"expression":"pg_stat_get_tuples_returned(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_returned","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2509"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","type_oid":20,"description":"Number of live table rows fetched by simple index scans using this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L415","type_evidence":{"expression":"pg_stat_get_tuples_fetched(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2511"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L415","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":8,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11066,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":11135,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":11156,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":11253,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Several predefined views, listed in Table 27-1, are available to show the current state of the system. There are also several other views, listed in Table 27-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":11742,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Several predefined views, listed in Table 28-1, are available to show the current state of the system. There are also several other views, listed in Table 28-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":11767,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":11652,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":11720,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Several predefined views, listed in Table 27.1, are available to show the current state of the system. There are also several other views, listed in Table 27.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nSome of the information in the dynamic statistics views shown in Table 27.1 is security restricted. Ordinary users can only see all the information about their own sessions (sessions belonging to a role that they are a member of). In rows about other sessions, many columns will be null. Note, however, that the existence of a session and its general properties such as its sessions user and database are visible to all users. Superusers and members of the built-in role pg_read_all_stats (see also Section 21.5) can see all the information about all sessions.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, plus one for the shared objects, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":12218,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":12220,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":12396,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":12183,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last scan on this index, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12183,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last scan on this index, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12183,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last scan on this index, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12187,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last scan on this index, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":10,"documentary_schema_source":"documentation","relation_oid":12201,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.3","to":"9.4","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"15","to":"16","status":"changed","added_columns":[{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last scan on this index, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_all_tables","kind":"statistics","summary":"One row for each table in the current database, showing statistics about accesses to that specific table. See pg_stat_all_tables for details.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"For each table in the current database (including TOAST tables), the table OID, schema and table name, number of sequential scans initiated, number of live rows fetched by sequential scans, number of index scans initiated (over all indexes belonging to the table), number of live rows fetched by index scans, numbers of row insertions, updates, and deletions, number of row updates that were HOT (i.e., no separate index update), numbers of live and dead rows, the last time the table was vacuumed manually, the last time it was vacuumed by the autovacuum daemon, the last time it was analyzed manually, and the last time it was analyzed by the autovacuum daemon.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of a table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L185","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema that this table is in","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L185","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-namespace.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L185","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","type_oid":20,"description":"Number of sequential scans initiated on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L185","type_evidence":{"expression":"pg_stat_get_numscans(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2992"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","type_oid":20,"description":"Number of live rows fetched by sequential scans","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L185","type_evidence":{"expression":"pg_stat_get_tuples_returned(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_returned","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2994"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","type_oid":20,"description":"Number of index scans initiated on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L185","type_evidence":{"expression":"sum(pg_stat_get_numscans(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2992"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","type_oid":20,"description":"Number of live rows fetched by index scans","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L185","type_evidence":{"expression":"sum(pg_stat_get_tuples_fetched(I.indexrelid))::bigint + pg_stat_get_tuples_fetched(C.oid)","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2996"},{"name":"pg_stat_get_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2996"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","type_oid":20,"description":"Number of rows inserted","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L185","type_evidence":{"expression":"pg_stat_get_tuples_inserted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_inserted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2998"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","type_oid":20,"description":"Number of rows updated","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L185","type_evidence":{"expression":"pg_stat_get_tuples_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3000"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","type_oid":20,"description":"Number of rows deleted","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L185","type_evidence":{"expression":"pg_stat_get_tuples_deleted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_deleted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3002"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","type_oid":20,"description":"Number of rows HOT updated (i.e., with no separate index update required)","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L185","type_evidence":{"expression":"pg_stat_get_tuples_hot_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_hot_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3004"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","type_oid":20,"description":"Estimated number of live rows","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L185","type_evidence":{"expression":"pg_stat_get_live_tuples(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_live_tuples","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3006"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","type_oid":20,"description":"Estimated number of dead rows","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L185","type_evidence":{"expression":"pg_stat_get_dead_tuples(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_dead_tuples","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3008"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL )","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L185","type_evidence":{"expression":"pg_stat_get_last_vacuum_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_vacuum_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3014"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was vacuumed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L185","type_evidence":{"expression":"pg_stat_get_last_autovacuum_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_autovacuum_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3016"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was manually analyzed","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L185","type_evidence":{"expression":"pg_stat_get_last_analyze_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_analyze_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3018"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was analyzed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L185","type_evidence":{"expression":"pg_stat_get_last_autoanalyze_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_autoanalyze_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3020"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L185","documentation_url":"https://www.postgresql.org/docs/9.0/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_0_23","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.0/source/system_views.sql","source_column_count":17,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11009,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"For each table in the current database (including TOAST tables), the table OID, schema and table name, number of sequential scans initiated, number of live rows fetched by sequential scans, number of index scans initiated (over all indexes belonging to the table), number of live rows fetched by index scans, numbers of row insertions, updates, and deletions, number of row updates that were HOT (i.e., no separate index update), numbers of live and dead rows, the last time the table was non- FULL vacuumed manually, the last time it was vacuumed by the autovacuum daemon, the last time it was analyzed manually, the last time it was analyzed by the autovacuum daemon, number of times it has been non- FULL vacuumed manually, number of times it has been vacuumed by the autovacuum daemon, number of times it has been analyzed manually, and the number of times it has been analyzed by the autovacuum daemon.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of a table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema that this table is in","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","type_oid":20,"description":"Number of sequential scans initiated on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"pg_stat_get_numscans(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2507"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","type_oid":20,"description":"Number of live rows fetched by sequential scans","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"pg_stat_get_tuples_returned(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_returned","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2509"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","type_oid":20,"description":"Number of index scans initiated on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"sum(pg_stat_get_numscans(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2507"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","type_oid":20,"description":"Number of live rows fetched by index scans","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"sum(pg_stat_get_tuples_fetched(I.indexrelid))::bigint + pg_stat_get_tuples_fetched(C.oid)","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2511"},{"name":"pg_stat_get_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2511"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","type_oid":20,"description":"Number of rows inserted","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"pg_stat_get_tuples_inserted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_inserted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2513"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","type_oid":20,"description":"Number of rows updated","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"pg_stat_get_tuples_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2515"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","type_oid":20,"description":"Number of rows deleted","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"pg_stat_get_tuples_deleted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_deleted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2517"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","type_oid":20,"description":"Number of rows HOT updated (i.e., with no separate index update required)","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"pg_stat_get_tuples_hot_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_hot_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2519"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","type_oid":20,"description":"Estimated number of live rows","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"pg_stat_get_live_tuples(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_live_tuples","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2521"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","type_oid":20,"description":"Estimated number of dead rows","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"pg_stat_get_dead_tuples(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_dead_tuples","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2523"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL )","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"pg_stat_get_last_vacuum_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_vacuum_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2529"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was vacuumed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"pg_stat_get_last_autovacuum_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_autovacuum_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2531"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was manually analyzed","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"pg_stat_get_last_analyze_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_analyze_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2533"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was analyzed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"pg_stat_get_last_autoanalyze_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_autoanalyze_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2535"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","type_oid":20,"description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL )","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"pg_stat_get_vacuum_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_vacuum_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2537"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","type_oid":20,"description":"Number of times this table has been vacuumed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"pg_stat_get_autovacuum_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_autovacuum_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2539"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","type_oid":20,"description":"Number of times this table has been manually analyzed","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"pg_stat_get_analyze_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_analyze_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2541"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","type_oid":20,"description":"Number of times this table has been analyzed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"pg_stat_get_autoanalyze_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_autoanalyze_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2543"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":21,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11034,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","source_column_count":21,"documentary_schema_source":"documentation","relation_oid":11103,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","source_column_count":21,"documentary_schema_source":"documentation","relation_oid":11124,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":11221,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Several predefined views, listed in Table 27-1, are available to show the current state of the system. There are also several other views, listed in Table 27-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":11710,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Several predefined views, listed in Table 28-1, are available to show the current state of the system. There are also several other views, listed in Table 28-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":11735,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":11620,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":11688,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Several predefined views, listed in Table 27.1, are available to show the current state of the system. There are also several other views, listed in Table 27.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nSome of the information in the dynamic statistics views shown in Table 27.1 is security restricted. Ordinary users can only see all the information about their own sessions (sessions belonging to a role that they are a member of). In rows about other sessions, many columns will be null. Note, however, that the existence of a session and its general properties such as its sessions user and database are visible to all users. Superusers and members of the built-in role pg_read_all_stats (see also Section 21.5) can see all the information about all sessions.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, plus one for the shared objects, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","source_column_count":22,"documentary_schema_source":"documentation","relation_oid":12186,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":23,"documentary_schema_source":"documentation","relation_oid":12188,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":23,"documentary_schema_source":"documentation","relation_oid":12355,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":23,"documentary_schema_source":"documentation","relation_oid":12142,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_seq_scan","type":"timestamp with time zone","description":"The time of the last sequential scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last index scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed","hidden":false,"type_oid":20,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":26,"documentary_schema_source":"documentation","relation_oid":12142,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_seq_scan","type":"timestamp with time zone","description":"The time of the last sequential scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last index scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed","hidden":false,"type_oid":20,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":26,"documentary_schema_source":"documentation","relation_oid":12142,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_seq_scan","type":"timestamp with time zone","description":"The time of the last sequential scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last index scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_vacuum_time","type":"double precision","description":"Total time this table has been manually vacuumed, in milliseconds (not counting VACUUM FULL). (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_autovacuum_time","type":"double precision","description":"Total time this table has been vacuumed by the autovacuum daemon, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_analyze_time","type":"double precision","description":"Total time this table has been manually analyzed, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_autoanalyze_time","type":"double precision","description":"Total time this table has been analyzed by the autovacuum daemon, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":30,"documentary_schema_source":"documentation","relation_oid":12146,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_seq_scan","type":"timestamp with time zone","description":"The time of the last sequential scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last index scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_vacuum_time","type":"double precision","description":"Total time this table has been manually vacuumed, in milliseconds (not counting VACUUM FULL). (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_autovacuum_time","type":"double precision","description":"Total time this table has been vacuumed by the autovacuum daemon, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_analyze_time","type":"double precision","description":"Total time this table has been manually analyzed, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_autoanalyze_time","type":"double precision","description":"Total time this table has been analyzed by the autovacuum daemon, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":31,"documentary_schema_source":"documentation","relation_oid":12155,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[{"name":"vacuum_count","type":"bigint","type_oid":20,"description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL )","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"pg_stat_get_vacuum_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_vacuum_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2537"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","type_oid":20,"description":"Number of times this table has been vacuumed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"pg_stat_get_autovacuum_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_autovacuum_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2539"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","type_oid":20,"description":"Number of times this table has been manually analyzed","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"pg_stat_get_analyze_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_analyze_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2541"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","type_oid":20,"description":"Number of times this table has been analyzed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L310","type_evidence":{"expression":"pg_stat_get_autoanalyze_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_autoanalyze_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2543"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"last_vacuum","from":"Last time at which this table was manually vacuumed (not counting VACUUM FULL )","to":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)"},{"name":"vacuum_count","from":"Number of times this table has been manually vacuumed (not counting VACUUM FULL )","to":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.3","to":"9.4","status":"changed","added_columns":[{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"n_tup_upd","from":"Number of rows updated","to":"Number of rows updated (includes HOT updated rows)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"changed","added_columns":[{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"15","to":"16","status":"changed","added_columns":[{"name":"last_seq_scan","type":"timestamp with time zone","description":"The time of the last sequential scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last index scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"n_tup_del","from":"Number of rows deleted","to":"Total number of rows deleted"},{"name":"n_tup_hot_upd","from":"Number of rows HOT updated (i.e., with no separate index update required)","to":"Number of rows HOT updated. These are updates where no successor versions are required in indexes."},{"name":"n_tup_ins","from":"Number of rows inserted","to":"Total number of rows inserted"},{"name":"n_tup_upd","from":"Number of rows updated (includes HOT updated rows)","to":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"17","to":"18","status":"changed","added_columns":[{"name":"total_vacuum_time","type":"double precision","description":"Total time this table has been manually vacuumed, in milliseconds (not counting VACUUM FULL). (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_autovacuum_time","type":"double precision","description":"Total time this table has been vacuumed by the autovacuum daemon, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_analyze_time","type":"double precision","description":"Total time this table has been manually analyzed, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_autoanalyze_time","type":"double precision","description":"Total time this table has been analyzed by the autovacuum daemon, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"n_ins_since_vacuum","from":"Estimated number of rows inserted since this table was last vacuumed","to":"Estimated number of rows inserted since this table was last vacuumed (not counting VACUUM FULL)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_archiver","kind":"statistics","summary":"One row only, showing statistics about the WAL archiver process's activity. See pg_stat_archiver for details.","first_version":"9.4","last_version":"19","versions":{"9.4":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"archived_count","type":"bigint","description":"Number of WAL files that have been successfully archived","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_wal","type":"text","description":"Name of the last WAL file successfully archived","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_time","type":"timestamp with time zone","description":"Time of the last successful archive operation","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"failed_count","type":"bigint","description":"Number of failed attempts for archiving WAL files","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_wal","type":"text","description":"Name of the WAL file of the last failed archival operation","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_time","type":"timestamp with time zone","description":"Time of the last failed archival operation","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11308,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Several predefined views, listed in Table 27-1, are available to show the current state of the system. There are also several other views, listed in Table 27-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"archived_count","type":"bigint","description":"Number of WAL files that have been successfully archived","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_wal","type":"text","description":"Name of the last WAL file successfully archived","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_time","type":"timestamp with time zone","description":"Time of the last successful archive operation","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"failed_count","type":"bigint","description":"Number of failed attempts for archiving WAL files","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_wal","type":"text","description":"Name of the WAL file of the last failed archival operation","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_time","type":"timestamp with time zone","description":"Time of the last failed archival operation","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11801,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Several predefined views, listed in Table 28-1, are available to show the current state of the system. There are also several other views, listed in Table 28-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"archived_count","type":"bigint","description":"Number of WAL files that have been successfully archived","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_wal","type":"text","description":"Name of the last WAL file successfully archived","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_time","type":"timestamp with time zone","description":"Time of the last successful archive operation","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"failed_count","type":"bigint","description":"Number of failed attempts for archiving WAL files","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_wal","type":"text","description":"Name of the WAL file of the last failed archival operation","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_time","type":"timestamp with time zone","description":"Time of the last failed archival operation","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11829,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"archived_count","type":"bigint","description":"Number of WAL files that have been successfully archived","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_wal","type":"text","description":"Name of the last WAL file successfully archived","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_time","type":"timestamp with time zone","description":"Time of the last successful archive operation","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"failed_count","type":"bigint","description":"Number of failed attempts for archiving WAL files","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_wal","type":"text","description":"Name of the WAL file of the last failed archival operation","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_time","type":"timestamp with time zone","description":"Time of the last failed archival operation","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html#PG-STAT-ARCHIVER-VIEW","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11717,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"archived_count","type":"bigint","description":"Number of WAL files that have been successfully archived","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_wal","type":"text","description":"Name of the last WAL file successfully archived","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_time","type":"timestamp with time zone","description":"Time of the last successful archive operation","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"failed_count","type":"bigint","description":"Number of failed attempts for archiving WAL files","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_wal","type":"text","description":"Name of the WAL file of the last failed archival operation","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_time","type":"timestamp with time zone","description":"Time of the last failed archival operation","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html#PG-STAT-ARCHIVER-VIEW","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11785,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Several predefined views, listed in Table 27.1, are available to show the current state of the system. There are also several other views, listed in Table 27.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nSome of the information in the dynamic statistics views shown in Table 27.1 is security restricted. Ordinary users can only see all the information about their own sessions (sessions belonging to a role that they are a member of). In rows about other sessions, many columns will be null. Note, however, that the existence of a session and its general properties such as its sessions user and database are visible to all users. Superusers and members of the built-in role pg_read_all_stats (see also Section 21.5) can see all the information about all sessions.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, plus one for the shared objects, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"archived_count","type":"bigint","description":"Number of WAL files that have been successfully archived","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_wal","type":"text","description":"Name of the last WAL file successfully archived","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_time","type":"timestamp with time zone","description":"Time of the last successful archive operation","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"failed_count","type":"bigint","description":"Number of failed attempts for archiving WAL files","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_wal","type":"text","description":"Name of the WAL file of the last failed archival operation","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_time","type":"timestamp with time zone","description":"Time of the last failed archival operation","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html#PG-STAT-ARCHIVER-VIEW","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12287,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.","columns":[{"name":"archived_count","type":"bigint","description":"Number of WAL files that have been successfully archived","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_wal","type":"text","description":"Name of the last WAL file successfully archived","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_time","type":"timestamp with time zone","description":"Time of the last successful archive operation","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"failed_count","type":"bigint","description":"Number of failed attempts for archiving WAL files","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_wal","type":"text","description":"Name of the WAL file of the last failed archival operation","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_time","type":"timestamp with time zone","description":"Time of the last failed archival operation","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html#PG-STAT-ARCHIVER-VIEW","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12292,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.","columns":[{"name":"archived_count","type":"bigint","description":"Number of WAL files that have been successfully archived","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_wal","type":"text","description":"Name of the last WAL file successfully archived","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_time","type":"timestamp with time zone","description":"Time of the last successful archive operation","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"failed_count","type":"bigint","description":"Number of failed attempts for archiving WAL files","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_wal","type":"text","description":"Name of the WAL file of the last failed archival operation","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_time","type":"timestamp with time zone","description":"Time of the last failed archival operation","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html#PG-STAT-ARCHIVER-VIEW","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12494,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nNormally, WAL files are archived in order, oldest to newest, but that is not guaranteed, and does not hold under special circumstances like when promoting a standby or after crash recovery. Therefore it is not safe to assume that all files older than last_archived_wal have also been successfully archived.","columns":[{"name":"archived_count","type":"bigint","description":"Number of WAL files that have been successfully archived","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_wal","type":"text","description":"Name of the WAL file most recently successfully archived","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_time","type":"timestamp with time zone","description":"Time of the most recent successful archive operation","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"failed_count","type":"bigint","description":"Number of failed attempts for archiving WAL files","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_wal","type":"text","description":"Name of the WAL file of the most recent failed archival operation","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_time","type":"timestamp with time zone","description":"Time of the most recent failed archival operation","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STAT-ARCHIVER-VIEW","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12285,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nNormally, WAL files are archived in order, oldest to newest, but that is not guaranteed, and does not hold under special circumstances like when promoting a standby or after crash recovery. Therefore it is not safe to assume that all files older than last_archived_wal have also been successfully archived.","columns":[{"name":"archived_count","type":"bigint","description":"Number of WAL files that have been successfully archived","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_wal","type":"text","description":"Name of the WAL file most recently successfully archived","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_time","type":"timestamp with time zone","description":"Time of the most recent successful archive operation","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"failed_count","type":"bigint","description":"Number of failed attempts for archiving WAL files","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_wal","type":"text","description":"Name of the WAL file of the most recent failed archival operation","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_time","type":"timestamp with time zone","description":"Time of the most recent failed archival operation","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STAT-ARCHIVER-VIEW","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12285,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nNormally, WAL files are archived in order, oldest to newest, but that is not guaranteed, and does not hold under special circumstances like when promoting a standby or after crash recovery. Therefore it is not safe to assume that all files older than last_archived_wal have also been successfully archived.","columns":[{"name":"archived_count","type":"bigint","description":"Number of WAL files that have been successfully archived","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_wal","type":"text","description":"Name of the WAL file most recently successfully archived","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_time","type":"timestamp with time zone","description":"Time of the most recent successful archive operation","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"failed_count","type":"bigint","description":"Number of failed attempts for archiving WAL files","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_wal","type":"text","description":"Name of the WAL file of the most recent failed archival operation","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_time","type":"timestamp with time zone","description":"Time of the most recent failed archival operation","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STAT-ARCHIVER-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12285,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nNormally, WAL files are archived in order, oldest to newest, but that is not guaranteed, and does not hold under special circumstances like when promoting a standby or after crash recovery. Therefore it is not safe to assume that all files older than last_archived_wal have also been successfully archived.","columns":[{"name":"archived_count","type":"bigint","description":"Number of WAL files that have been successfully archived","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_wal","type":"text","description":"Name of the WAL file most recently successfully archived","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_time","type":"timestamp with time zone","description":"Time of the most recent successful archive operation","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"failed_count","type":"bigint","description":"Number of failed attempts for archiving WAL files","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_wal","type":"text","description":"Name of the WAL file of the most recent failed archival operation","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_time","type":"timestamp with time zone","description":"Time of the most recent failed archival operation","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STAT-ARCHIVER-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12289,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nNormally, WAL files are archived in order, oldest to newest, but that is not guaranteed, and does not hold under special circumstances like when promoting a standby or after crash recovery. Therefore it is not safe to assume that all files older than last_archived_wal have also been successfully archived.","columns":[{"name":"archived_count","type":"bigint","description":"Number of WAL files that have been successfully archived","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_wal","type":"text","description":"Name of the WAL file most recently successfully archived","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_time","type":"timestamp with time zone","description":"Time of the most recent successful archive operation","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"failed_count","type":"bigint","description":"Number of failed attempts for archiving WAL files","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_wal","type":"text","description":"Name of the WAL file of the most recent failed archival operation","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_time","type":"timestamp with time zone","description":"Time of the most recent failed archival operation","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-ARCHIVER-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12311,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.3","to":"9.4","status":"added","added_columns":[{"name":"archived_count","type":"bigint","description":"Number of WAL files that have been successfully archived","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_wal","type":"text","description":"Name of the last WAL file successfully archived","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_archived_time","type":"timestamp with time zone","description":"Time of the last successful archive operation","hidden":false,"type_oid":1184,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"failed_count","type":"bigint","description":"Number of failed attempts for archiving WAL files","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_wal","type":"text","description":"Name of the WAL file of the last failed archival operation","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_failed_time","type":"timestamp with time zone","description":"Time of the last failed archival operation","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"last_archived_time","from":"Time of the last successful archive operation","to":"Time of the most recent successful archive operation"},{"name":"last_archived_wal","from":"Name of the last WAL file successfully archived","to":"Name of the WAL file most recently successfully archived"},{"name":"last_failed_time","from":"Time of the last failed archival operation","to":"Time of the most recent failed archival operation"},{"name":"last_failed_wal","from":"Name of the WAL file of the last failed archival operation","to":"Name of the WAL file of the most recent failed archival operation"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_stat_autovacuum_scores","kind":"statistics","summary":"One row for each table in the current database, showing the current autovacuum scores for that specific table. See pg_stat_autovacuum_scores for details.","first_version":"19","last_version":"19","versions":{"19":{"description":"The pg_stat_autovacuum_scores view will contain one row for each table in the current database (including TOAST tables), showing the current autovacuum scores for that specific table. Autovacuum prioritizes tables deemed eligible for processing based on their score, with higher scores indicating higher priority. See Section 24.1.6.1 for more information.\n\nWhile this view generates its results the same way that autovacuum workers do, it does so using the current source information, which might differ from the source information that an autovacuum worker sees when it gathers its list of tables to process. Therefore, this view is not a completely reliable indicator of which tables autovacuum will process and what order it will process them.","columns":[{"name":"relid","type":"oid","description":"Oid of the table.","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that the table is in.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"score","type":"double precision","description":"Maximum value of all component scores. This is the value that autovacuum would use to sort the list of tables to process.","hidden":false,"type_oid":701,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xid_score","type":"double precision","description":"Transaction ID age component score. Scores greater than autovacuum_freeze_score_weight indicate that autovacuum would vacuum the table for transaction ID wraparound prevention.","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mxid_score","type":"double precision","description":"Multixact ID age component score. Scores greater than autovacuum_multixact_freeze_score_weight indicate that autovacuum would vacuum the table for multixact ID wraparound prevention.","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_score","type":"double precision","description":"Vacuum component score. Scores greater than autovacuum_vacuum_score_weight indicate that autovacuum would vacuum the table (unless autovacuum is disabled).","hidden":false,"type_oid":701,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_insert_score","type":"double precision","description":"Vacuum insert component score. Scores greater than autovacuum_vacuum_insert_score_weight indicate that autovacuum would vacuum the table (unless autovacuum is disabled).","hidden":false,"type_oid":701,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_score","type":"double precision","description":"Analyze component score. Scores greater than autovacuum_analyze_score_weight indicate that autovacuum would analyze the table (unless autovacuum is disabled).","hidden":false,"type_oid":701,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"do_vacuum","type":"boolean","description":"Whether autovacuum would vacuum the table. Note that even if the component scores indicate that autovacuum would vacuum the table, this may be false if autovacuum is disabled.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"do_analyze","type":"boolean","description":"Whether autovacuum would analyze the table. Note that even if the component scores indicate that autovacuum would analyze the table, this may be false if autovacuum is disabled.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"for_wraparound","type":"boolean","description":"Whether autovacuum would vacuum the table for wraparound prevention.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-AUTOVACUUM-SCORES-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":12183,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"18","to":"19","status":"added","added_columns":[{"name":"relid","type":"oid","description":"Oid of the table.","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that the table is in.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"score","type":"double precision","description":"Maximum value of all component scores. This is the value that autovacuum would use to sort the list of tables to process.","hidden":false,"type_oid":701,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xid_score","type":"double precision","description":"Transaction ID age component score. Scores greater than autovacuum_freeze_score_weight indicate that autovacuum would vacuum the table for transaction ID wraparound prevention.","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mxid_score","type":"double precision","description":"Multixact ID age component score. Scores greater than autovacuum_multixact_freeze_score_weight indicate that autovacuum would vacuum the table for multixact ID wraparound prevention.","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_score","type":"double precision","description":"Vacuum component score. Scores greater than autovacuum_vacuum_score_weight indicate that autovacuum would vacuum the table (unless autovacuum is disabled).","hidden":false,"type_oid":701,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_insert_score","type":"double precision","description":"Vacuum insert component score. Scores greater than autovacuum_vacuum_insert_score_weight indicate that autovacuum would vacuum the table (unless autovacuum is disabled).","hidden":false,"type_oid":701,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_score","type":"double precision","description":"Analyze component score. Scores greater than autovacuum_analyze_score_weight indicate that autovacuum would analyze the table (unless autovacuum is disabled).","hidden":false,"type_oid":701,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"do_vacuum","type":"boolean","description":"Whether autovacuum would vacuum the table. Note that even if the component scores indicate that autovacuum would vacuum the table, this may be false if autovacuum is disabled.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"do_analyze","type":"boolean","description":"Whether autovacuum would analyze the table. Note that even if the component scores indicate that autovacuum would analyze the table, this may be false if autovacuum is disabled.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"for_wraparound","type":"boolean","description":"Whether autovacuum would vacuum the table for wraparound prevention.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_bgwriter","kind":"statistics","summary":"One row only, showing statistics about the background writer process's activity. See pg_stat_bgwriter for details.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"One row only, showing cluster-wide statistics from the background writer: number of scheduled checkpoints, requested checkpoints, buffers written by checkpoints and cleaning scans, and the number of times the background writer stopped a cleaning scan because it had written too many buffers. Also includes statistics about the shared buffer pool, including buffers written by backends (that is, not by the background writer) and total buffers allocated.","columns":[{"name":"checkpoints_timed","type":"bigint","type_oid":20,"description":"Number of scheduled checkpoints that have been performed","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L378","type_evidence":{"expression":"pg_stat_get_bgwriter_timed_checkpoints()","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_bgwriter_timed_checkpoints","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3068"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoints_req","type":"bigint","type_oid":20,"description":"Number of requested checkpoints that have been performed","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L378","type_evidence":{"expression":"pg_stat_get_bgwriter_requested_checkpoints()","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_bgwriter_requested_checkpoints","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3070"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_checkpoint","type":"bigint","type_oid":20,"description":"Number of buffers written during checkpoints","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L378","type_evidence":{"expression":"pg_stat_get_bgwriter_buf_written_checkpoints()","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_bgwriter_buf_written_checkpoints","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3072"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_clean","type":"bigint","type_oid":20,"description":"Number of buffers written by the background writer","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L378","type_evidence":{"expression":"pg_stat_get_bgwriter_buf_written_clean()","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_bgwriter_buf_written_clean","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3074"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"maxwritten_clean","type":"bigint","type_oid":20,"description":"Number of times the background writer stopped a cleaning scan because it had written too many buffers","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L378","type_evidence":{"expression":"pg_stat_get_bgwriter_maxwritten_clean()","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_bgwriter_maxwritten_clean","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3076"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend","type":"bigint","type_oid":20,"description":"Number of buffers written directly by a backend","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L378","type_evidence":{"expression":"pg_stat_get_buf_written_backend()","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_buf_written_backend","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3078"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_alloc","type":"bigint","type_oid":20,"description":"Number of buffers allocated","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L378","type_evidence":{"expression":"pg_stat_get_buf_alloc()","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_buf_alloc","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3080"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L378","documentation_url":"https://www.postgresql.org/docs/9.0/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_0_23","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.0/source/system_views.sql","source_column_count":7,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11068,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"One row only, showing cluster-wide statistics from the background writer: number of scheduled checkpoints, requested checkpoints, buffers written by checkpoints and cleaning scans, and the number of times the background writer stopped a cleaning scan because it had written too many buffers. Also includes statistics about the shared buffer pool, including buffers written by backends (that is, not by the background writer), how many times those backends had to execute their own fsync calls (normally the background writer handles those even when the backend does its own write), total buffers allocated, and time of last statistics reset.","columns":[{"name":"checkpoints_timed","type":"bigint","type_oid":20,"description":"Number of scheduled checkpoints that have been performed","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L585","type_evidence":{"expression":"pg_stat_get_bgwriter_timed_checkpoints()","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_bgwriter_timed_checkpoints","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2607"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoints_req","type":"bigint","type_oid":20,"description":"Number of requested checkpoints that have been performed","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L585","type_evidence":{"expression":"pg_stat_get_bgwriter_requested_checkpoints()","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_bgwriter_requested_checkpoints","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2609"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_checkpoint","type":"bigint","type_oid":20,"description":"Number of buffers written during checkpoints","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L585","type_evidence":{"expression":"pg_stat_get_bgwriter_buf_written_checkpoints()","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_bgwriter_buf_written_checkpoints","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2611"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_clean","type":"bigint","type_oid":20,"description":"Number of buffers written by the background writer","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L585","type_evidence":{"expression":"pg_stat_get_bgwriter_buf_written_clean()","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_bgwriter_buf_written_clean","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2613"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"maxwritten_clean","type":"bigint","type_oid":20,"description":"Number of times the background writer stopped a cleaning scan because it had written too many buffers","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L585","type_evidence":{"expression":"pg_stat_get_bgwriter_maxwritten_clean()","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_bgwriter_maxwritten_clean","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2615"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend","type":"bigint","type_oid":20,"description":"Number of buffers written directly by a backend","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L585","type_evidence":{"expression":"pg_stat_get_buf_written_backend()","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_buf_written_backend","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2619"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend_fsync","type":"bigint","type_oid":20,"description":"Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L585","type_evidence":{"expression":"pg_stat_get_buf_fsync_backend()","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_buf_fsync_backend","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2621"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_alloc","type":"bigint","type_oid":20,"description":"Number of buffers allocated","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L585","type_evidence":{"expression":"pg_stat_get_buf_alloc()","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_buf_alloc","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2623"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","type_oid":1184,"description":"Time at which these statistics were last reset","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L585","type_evidence":{"expression":"pg_stat_get_bgwriter_stat_reset_time()","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_bgwriter_stat_reset_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2617"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L585","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":9,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11115,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"checkpoints_timed","type":"bigint","description":"Number of scheduled checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoints_req","type":"bigint","description":"Number of requested checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_write_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_sync_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_checkpoint","type":"bigint","description":"Number of buffers written during checkpoints","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_clean","type":"bigint","description":"Number of buffers written by the background writer","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"maxwritten_clean","type":"bigint","description":"Number of times the background writer stopped a cleaning scan because it had written too many buffers","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend","type":"bigint","description":"Number of buffers written directly by a backend","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend_fsync","type":"bigint","description":"Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_alloc","type":"bigint","description":"Number of buffers allocated","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":11185,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"checkpoints_timed","type":"bigint","description":"Number of scheduled checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoints_req","type":"bigint","description":"Number of requested checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_write_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_sync_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_checkpoint","type":"bigint","description":"Number of buffers written during checkpoints","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_clean","type":"bigint","description":"Number of buffers written by the background writer","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"maxwritten_clean","type":"bigint","description":"Number of times the background writer stopped a cleaning scan because it had written too many buffers","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend","type":"bigint","description":"Number of buffers written directly by a backend","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend_fsync","type":"bigint","description":"Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_alloc","type":"bigint","description":"Number of buffers allocated","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":11206,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"checkpoints_timed","type":"bigint","description":"Number of scheduled checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoints_req","type":"bigint","description":"Number of requested checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_write_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_sync_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_checkpoint","type":"bigint","description":"Number of buffers written during checkpoints","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_clean","type":"bigint","description":"Number of buffers written by the background writer","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"maxwritten_clean","type":"bigint","description":"Number of times the background writer stopped a cleaning scan because it had written too many buffers","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend","type":"bigint","description":"Number of buffers written directly by a backend","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend_fsync","type":"bigint","description":"Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_alloc","type":"bigint","description":"Number of buffers allocated","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":11311,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Several predefined views, listed in Table 27-1, are available to show the current state of the system. There are also several other views, listed in Table 27-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"checkpoints_timed","type":"bigint","description":"Number of scheduled checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoints_req","type":"bigint","description":"Number of requested checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_write_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_sync_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_checkpoint","type":"bigint","description":"Number of buffers written during checkpoints","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_clean","type":"bigint","description":"Number of buffers written by the background writer","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"maxwritten_clean","type":"bigint","description":"Number of times the background writer stopped a cleaning scan because it had written too many buffers","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend","type":"bigint","description":"Number of buffers written directly by a backend","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend_fsync","type":"bigint","description":"Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_alloc","type":"bigint","description":"Number of buffers allocated","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":11804,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Several predefined views, listed in Table 28-1, are available to show the current state of the system. There are also several other views, listed in Table 28-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"checkpoints_timed","type":"bigint","description":"Number of scheduled checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoints_req","type":"bigint","description":"Number of requested checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_write_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_sync_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_checkpoint","type":"bigint","description":"Number of buffers written during checkpoints","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_clean","type":"bigint","description":"Number of buffers written by the background writer","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"maxwritten_clean","type":"bigint","description":"Number of times the background writer stopped a cleaning scan because it had written too many buffers","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend","type":"bigint","description":"Number of buffers written directly by a backend","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend_fsync","type":"bigint","description":"Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_alloc","type":"bigint","description":"Number of buffers allocated","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":11832,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"checkpoints_timed","type":"bigint","description":"Number of scheduled checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoints_req","type":"bigint","description":"Number of requested checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_write_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_sync_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_checkpoint","type":"bigint","description":"Number of buffers written during checkpoints","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_clean","type":"bigint","description":"Number of buffers written by the background writer","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"maxwritten_clean","type":"bigint","description":"Number of times the background writer stopped a cleaning scan because it had written too many buffers","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend","type":"bigint","description":"Number of buffers written directly by a backend","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend_fsync","type":"bigint","description":"Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_alloc","type":"bigint","description":"Number of buffers allocated","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":11720,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"checkpoints_timed","type":"bigint","description":"Number of scheduled checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoints_req","type":"bigint","description":"Number of requested checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_write_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_sync_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_checkpoint","type":"bigint","description":"Number of buffers written during checkpoints","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_clean","type":"bigint","description":"Number of buffers written by the background writer","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"maxwritten_clean","type":"bigint","description":"Number of times the background writer stopped a cleaning scan because it had written too many buffers","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend","type":"bigint","description":"Number of buffers written directly by a backend","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend_fsync","type":"bigint","description":"Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_alloc","type":"bigint","description":"Number of buffers allocated","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":11788,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Several predefined views, listed in Table 27.1, are available to show the current state of the system. There are also several other views, listed in Table 27.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nSome of the information in the dynamic statistics views shown in Table 27.1 is security restricted. Ordinary users can only see all the information about their own sessions (sessions belonging to a role that they are a member of). In rows about other sessions, many columns will be null. Note, however, that the existence of a session and its general properties such as its sessions user and database are visible to all users. Superusers and members of the built-in role pg_read_all_stats (see also Section 21.5) can see all the information about all sessions.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, plus one for the shared objects, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"checkpoints_timed","type":"bigint","description":"Number of scheduled checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoints_req","type":"bigint","description":"Number of requested checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_write_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_sync_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_checkpoint","type":"bigint","description":"Number of buffers written during checkpoints","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_clean","type":"bigint","description":"Number of buffers written by the background writer","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"maxwritten_clean","type":"bigint","description":"Number of times the background writer stopped a cleaning scan because it had written too many buffers","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend","type":"bigint","description":"Number of buffers written directly by a backend","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend_fsync","type":"bigint","description":"Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_alloc","type":"bigint","description":"Number of buffers allocated","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12290,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_stat_bgwriter view will always have a single row, containing global data for the cluster.","columns":[{"name":"checkpoints_timed","type":"bigint","description":"Number of scheduled checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoints_req","type":"bigint","description":"Number of requested checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_write_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_sync_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_checkpoint","type":"bigint","description":"Number of buffers written during checkpoints","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_clean","type":"bigint","description":"Number of buffers written by the background writer","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"maxwritten_clean","type":"bigint","description":"Number of times the background writer stopped a cleaning scan because it had written too many buffers","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend","type":"bigint","description":"Number of buffers written directly by a backend","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend_fsync","type":"bigint","description":"Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_alloc","type":"bigint","description":"Number of buffers allocated","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12295,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_stat_bgwriter view will always have a single row, containing global data for the cluster.","columns":[{"name":"checkpoints_timed","type":"bigint","description":"Number of scheduled checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoints_req","type":"bigint","description":"Number of requested checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_write_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_sync_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_checkpoint","type":"bigint","description":"Number of buffers written during checkpoints","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_clean","type":"bigint","description":"Number of buffers written by the background writer","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"maxwritten_clean","type":"bigint","description":"Number of times the background writer stopped a cleaning scan because it had written too many buffers","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend","type":"bigint","description":"Number of buffers written directly by a backend","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend_fsync","type":"bigint","description":"Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_alloc","type":"bigint","description":"Number of buffers allocated","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12498,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_stat_bgwriter view will always have a single row, containing global data for the cluster.","columns":[{"name":"checkpoints_timed","type":"bigint","description":"Number of scheduled checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoints_req","type":"bigint","description":"Number of requested checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_write_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_sync_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_checkpoint","type":"bigint","description":"Number of buffers written during checkpoints","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_clean","type":"bigint","description":"Number of buffers written by the background writer","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"maxwritten_clean","type":"bigint","description":"Number of times the background writer stopped a cleaning scan because it had written too many buffers","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend","type":"bigint","description":"Number of buffers written directly by a backend","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend_fsync","type":"bigint","description":"Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_alloc","type":"bigint","description":"Number of buffers allocated","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12289,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_stat_bgwriter view will always have a single row, containing global data for the cluster.","columns":[{"name":"checkpoints_timed","type":"bigint","description":"Number of scheduled checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoints_req","type":"bigint","description":"Number of requested checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_write_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_sync_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_checkpoint","type":"bigint","description":"Number of buffers written during checkpoints","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_clean","type":"bigint","description":"Number of buffers written by the background writer","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"maxwritten_clean","type":"bigint","description":"Number of times the background writer stopped a cleaning scan because it had written too many buffers","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend","type":"bigint","description":"Number of buffers written directly by a backend","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend_fsync","type":"bigint","description":"Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_alloc","type":"bigint","description":"Number of buffers allocated","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12289,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_stat_bgwriter view will always have a single row, containing data about the background writer of the cluster.","columns":[{"name":"buffers_clean","type":"bigint","description":"Number of buffers written by the background writer","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"maxwritten_clean","type":"bigint","description":"Number of times the background writer stopped a cleaning scan because it had written too many buffers","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_alloc","type":"bigint","description":"Number of buffers allocated","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":12289,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_stat_bgwriter view will always have a single row, containing data about the background writer of the cluster.","columns":[{"name":"buffers_clean","type":"bigint","description":"Number of buffers written by the background writer","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"maxwritten_clean","type":"bigint","description":"Number of times the background writer stopped a cleaning scan because it had written too many buffers","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_alloc","type":"bigint","description":"Number of buffers allocated","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":12293,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_stat_bgwriter view will always have a single row, containing data about the background writer of the cluster.","columns":[{"name":"buffers_clean","type":"bigint","description":"Number of buffers written by the background writer","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"maxwritten_clean","type":"bigint","description":"Number of times the background writer stopped a cleaning scan because it had written too many buffers","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_alloc","type":"bigint","description":"Number of buffers allocated","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":12315,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[{"name":"buffers_backend_fsync","type":"bigint","type_oid":20,"description":"Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L585","type_evidence":{"expression":"pg_stat_get_buf_fsync_backend()","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_buf_fsync_backend","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2621"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","type_oid":1184,"description":"Time at which these statistics were last reset","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L585","type_evidence":{"expression":"pg_stat_get_bgwriter_stat_reset_time()","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_bgwriter_stat_reset_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2617"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-BGWRITER-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[{"name":"checkpoint_write_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_sync_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.3","to":"9.4","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[{"name":"checkpoints_timed","type":"bigint","description":"Number of scheduled checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoints_req","type":"bigint","description":"Number of requested checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_write_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checkpoint_sync_time","type":"double precision","description":"Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_checkpoint","type":"bigint","description":"Number of buffers written during checkpoints","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend","type":"bigint","description":"Number of buffers written directly by a backend","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_backend_fsync","type":"bigint","description":"Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_checkpointer","kind":"statistics","summary":"One row only, showing statistics about the checkpointer process's activity. See pg_stat_checkpointer for details.","first_version":"17","last_version":"19","versions":{"17":{"description":"The pg_stat_checkpointer view will always have a single row, containing data about the checkpointer process of the cluster.","columns":[{"name":"num_timed","type":"bigint","description":"Number of scheduled checkpoints due to timeout. Note that checkpoints may be skipped if the server has been idle since the last one, and this value counts both completed and skipped checkpoints","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"num_requested","type":"bigint","description":"Number of requested checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restartpoints_timed","type":"bigint","description":"Number of scheduled restartpoints due to timeout or after a failed attempt to perform it","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restartpoints_req","type":"bigint","description":"Number of requested restartpoints","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restartpoints_done","type":"bigint","description":"Number of restartpoints that have been performed","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_time","type":"double precision","description":"Total amount of time that has been spent in the portion of processing checkpoints and restartpoints where files are written to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_time","type":"double precision","description":"Total amount of time that has been spent in the portion of processing checkpoints and restartpoints where files are synchronized to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_written","type":"bigint","description":"Number of buffers written during checkpoints and restartpoints","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STAT-CHECKPOINTER-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12293,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_stat_checkpointer view will always have a single row, containing data about the checkpointer process of the cluster.\n\nCheckpoints may be skipped if the server has been idle since the last one. num_timed and num_requested count both completed and skipped checkpoints, while num_done tracks only the completed ones. Similarly, restartpoints may be skipped if the last replayed checkpoint record is already the last restartpoint. restartpoints_timed and restartpoints_req count both completed and skipped restartpoints, while restartpoints_done tracks only the completed ones.","columns":[{"name":"num_timed","type":"bigint","description":"Number of scheduled checkpoints due to timeout","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"num_requested","type":"bigint","description":"Number of requested checkpoints","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"num_done","type":"bigint","description":"Number of checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restartpoints_timed","type":"bigint","description":"Number of scheduled restartpoints due to timeout or after a failed attempt to perform it","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restartpoints_req","type":"bigint","description":"Number of requested restartpoints","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restartpoints_done","type":"bigint","description":"Number of restartpoints that have been performed","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_time","type":"double precision","description":"Total amount of time that has been spent in the portion of processing checkpoints and restartpoints where files are written to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_time","type":"double precision","description":"Total amount of time that has been spent in the portion of processing checkpoints and restartpoints where files are synchronized to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_written","type":"bigint","description":"Number of shared buffers written during checkpoints and restartpoints","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slru_written","type":"bigint","description":"Number of SLRU buffers written during checkpoints and restartpoints","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STAT-CHECKPOINTER-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12297,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_stat_checkpointer view will always have a single row, containing data about the checkpointer process of the cluster.\n\nCheckpoints may be skipped if the server has been idle since the last one. num_timed and num_requested count both completed and skipped checkpoints, while num_done tracks only the completed ones. Similarly, restartpoints may be skipped if the last replayed checkpoint record is already the last restartpoint. restartpoints_timed and restartpoints_req count both completed and skipped restartpoints, while restartpoints_done tracks only the completed ones.","columns":[{"name":"num_timed","type":"bigint","description":"Number of scheduled checkpoints due to timeout","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"num_requested","type":"bigint","description":"Number of requested checkpoints","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"num_done","type":"bigint","description":"Number of checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restartpoints_timed","type":"bigint","description":"Number of scheduled restartpoints due to timeout or after a failed attempt to perform it","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restartpoints_req","type":"bigint","description":"Number of requested restartpoints","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restartpoints_done","type":"bigint","description":"Number of restartpoints that have been performed","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_time","type":"double precision","description":"Total amount of time that has been spent in the portion of processing checkpoints and restartpoints where files are written to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_time","type":"double precision","description":"Total amount of time that has been spent in the portion of processing checkpoints and restartpoints where files are synchronized to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_written","type":"bigint","description":"Number of shared buffers written during checkpoints and restartpoints","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slru_written","type":"bigint","description":"Number of SLRU buffers written during checkpoints and restartpoints","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-CHECKPOINTER-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12319,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"16","to":"17","status":"added","added_columns":[{"name":"num_timed","type":"bigint","description":"Number of scheduled checkpoints due to timeout. Note that checkpoints may be skipped if the server has been idle since the last one, and this value counts both completed and skipped checkpoints","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"num_requested","type":"bigint","description":"Number of requested checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restartpoints_timed","type":"bigint","description":"Number of scheduled restartpoints due to timeout or after a failed attempt to perform it","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restartpoints_req","type":"bigint","description":"Number of requested restartpoints","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"restartpoints_done","type":"bigint","description":"Number of restartpoints that have been performed","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_time","type":"double precision","description":"Total amount of time that has been spent in the portion of processing checkpoints and restartpoints where files are written to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_time","type":"double precision","description":"Total amount of time that has been spent in the portion of processing checkpoints and restartpoints where files are synchronized to disk, in milliseconds","hidden":false,"type_oid":701,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"buffers_written","type":"bigint","description":"Number of buffers written during checkpoints and restartpoints","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"17","to":"18","status":"changed","added_columns":[{"name":"num_done","type":"bigint","description":"Number of checkpoints that have been performed","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slru_written","type":"bigint","description":"Number of SLRU buffers written during checkpoints and restartpoints","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"buffers_written","from":"Number of buffers written during checkpoints and restartpoints","to":"Number of shared buffers written during checkpoints and restartpoints"},{"name":"num_requested","from":"Number of requested checkpoints that have been performed","to":"Number of requested checkpoints"},{"name":"num_timed","from":"Number of scheduled checkpoints due to timeout. Note that checkpoints may be skipped if the server has been idle since the last one, and this value counts both completed and skipped checkpoints","to":"Number of scheduled checkpoints due to timeout"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_database","kind":"statistics","summary":"One row per database, showing database-wide statistics. See pg_stat_database for details.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"One row per database, showing database OID, database name, number of active server processes connected to that database, number of transactions committed and rolled back in that database, total disk blocks read, total buffer hits (i.e., block read requests avoided by finding the block already in buffer cache), number of rows returned, fetched, inserted, updated and deleted.","columns":[{"name":"datid","type":"oid","type_oid":26,"description":"OID of a database","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L349","type_evidence":{"expression":"D.oid","method":"catalog_oid_system_column","catalog_field":"pg_database.oid"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","type_oid":19,"description":"Name of this database","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L349","type_evidence":{"expression":"D.datname","method":"catalog_name_column","catalog_field":"pg_database.datname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-database.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"numbackends","type":"integer","type_oid":23,"description":"Number of backends currently connected to this database. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset.","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L349","type_evidence":{"expression":"pg_stat_get_db_numbackends(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_numbackends","return_oid":23,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3048"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_commit","type":"bigint","type_oid":20,"description":"Number of transactions in this database that have been committed","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L349","type_evidence":{"expression":"pg_stat_get_db_xact_commit(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_xact_commit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3050"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_rollback","type":"bigint","type_oid":20,"description":"Number of transactions in this database that have been rolled back","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L349","type_evidence":{"expression":"pg_stat_get_db_xact_rollback(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_xact_rollback","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3052"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read in this database","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L349","type_evidence":{"expression":"pg_stat_get_db_blocks_fetched(D.oid) - pg_stat_get_db_blocks_hit(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3054"},{"name":"pg_stat_get_db_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3056"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","type_oid":20,"description":"Number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL buffer cache, not the operating system's file system cache)","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L349","type_evidence":{"expression":"pg_stat_get_db_blocks_hit(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3056"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_returned","type":"bigint","type_oid":20,"description":"Number of rows returned by queries in this database","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L349","type_evidence":{"expression":"pg_stat_get_db_tuples_returned(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_tuples_returned","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3058"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_fetched","type":"bigint","type_oid":20,"description":"Number of rows fetched by queries in this database","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L349","type_evidence":{"expression":"pg_stat_get_db_tuples_fetched(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3060"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_inserted","type":"bigint","type_oid":20,"description":"Number of rows inserted by queries in this database","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L349","type_evidence":{"expression":"pg_stat_get_db_tuples_inserted(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_tuples_inserted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3062"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_updated","type":"bigint","type_oid":20,"description":"Number of rows updated by queries in this database","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L349","type_evidence":{"expression":"pg_stat_get_db_tuples_updated(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_tuples_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3064"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_deleted","type":"bigint","type_oid":20,"description":"Number of rows deleted by queries in this database","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L349","type_evidence":{"expression":"pg_stat_get_db_tuples_deleted(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_tuples_deleted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3066"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L349","documentation_url":"https://www.postgresql.org/docs/9.0/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_0_23","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.0/source/system_views.sql","source_column_count":12,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11061,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"One row per database, showing database OID, database name, number of active server processes connected to that database, number of transactions committed and rolled back in that database, total disk blocks read, total buffer hits (i.e., block read requests avoided by finding the block already in buffer cache), number of rows returned, fetched, inserted, updated and deleted, the total number of queries canceled due to conflict with recovery (on standby servers), and time of last statistics reset.","columns":[{"name":"datid","type":"oid","type_oid":26,"description":"OID of a database","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L531","type_evidence":{"expression":"D.oid","method":"catalog_oid_system_column","catalog_field":"pg_database.oid"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","type_oid":19,"description":"Name of this database","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L531","type_evidence":{"expression":"D.datname","method":"catalog_name_column","catalog_field":"pg_database.datname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-database.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"numbackends","type":"integer","type_oid":23,"description":"Number of backends currently connected to this database. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset.","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L531","type_evidence":{"expression":"pg_stat_get_db_numbackends(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_numbackends","return_oid":23,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2573"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_commit","type":"bigint","type_oid":20,"description":"Number of transactions in this database that have been committed","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L531","type_evidence":{"expression":"pg_stat_get_db_xact_commit(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_xact_commit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2575"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_rollback","type":"bigint","type_oid":20,"description":"Number of transactions in this database that have been rolled back","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L531","type_evidence":{"expression":"pg_stat_get_db_xact_rollback(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_xact_rollback","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2577"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read in this database","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L531","type_evidence":{"expression":"pg_stat_get_db_blocks_fetched(D.oid) - pg_stat_get_db_blocks_hit(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2579"},{"name":"pg_stat_get_db_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2581"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","type_oid":20,"description":"Number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL buffer cache, not the operating system's file system cache)","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L531","type_evidence":{"expression":"pg_stat_get_db_blocks_hit(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2581"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_returned","type":"bigint","type_oid":20,"description":"Number of rows returned by queries in this database","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L531","type_evidence":{"expression":"pg_stat_get_db_tuples_returned(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_tuples_returned","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2583"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_fetched","type":"bigint","type_oid":20,"description":"Number of rows fetched by queries in this database","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L531","type_evidence":{"expression":"pg_stat_get_db_tuples_fetched(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2585"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_inserted","type":"bigint","type_oid":20,"description":"Number of rows inserted by queries in this database","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L531","type_evidence":{"expression":"pg_stat_get_db_tuples_inserted(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_tuples_inserted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2587"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_updated","type":"bigint","type_oid":20,"description":"Number of rows updated by queries in this database","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L531","type_evidence":{"expression":"pg_stat_get_db_tuples_updated(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_tuples_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2589"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_deleted","type":"bigint","type_oid":20,"description":"Number of rows deleted by queries in this database","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L531","type_evidence":{"expression":"pg_stat_get_db_tuples_deleted(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_tuples_deleted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2591"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conflicts","type":"bigint","type_oid":20,"description":"Number of queries canceled due to conflicts with recovery in this database. (Conflicts occur only on standby servers; see pg_stat_database_conflicts for details.)","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L531","type_evidence":{"expression":"pg_stat_get_db_conflict_all(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_conflict_all","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2603"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","type_oid":1184,"description":"Time at which these statistics were last reset","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L531","type_evidence":{"expression":"pg_stat_get_db_stat_reset_time(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_stat_reset_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2605"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L531","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":14,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11101,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"numbackends","type":"integer","description":"Number of backends currently connected to this database. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset.","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_commit","type":"bigint","description":"Number of transactions in this database that have been committed","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_rollback","type":"bigint","description":"Number of transactions in this database that have been rolled back","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read in this database","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL buffer cache, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_returned","type":"bigint","description":"Number of rows returned by queries in this database","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_fetched","type":"bigint","description":"Number of rows fetched by queries in this database","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_inserted","type":"bigint","description":"Number of rows inserted by queries in this database","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_updated","type":"bigint","description":"Number of rows updated by queries in this database","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_deleted","type":"bigint","description":"Number of rows deleted by queries in this database","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conflicts","type":"bigint","description":"Number of queries canceled due to conflicts with recovery in this database. (Conflicts occur only on standby servers; see pg_stat_database_conflicts for details.)","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_files","type":"bigint","description":"Number of temporary files created by queries in this database. All temporary files are counted, regardless of why the temporary file was created (e.g., sorting or hashing), and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_bytes","type":"bigint","description":"Total amount of data written to temporary files by queries in this database. All temporary files are counted, regardless of why the temporary file was created, and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"deadlocks","type":"bigint","description":"Number of deadlocks detected in this database","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_read_time","type":"double precision","description":"Time spent reading data file blocks by backends in this database, in milliseconds","hidden":false,"type_oid":701,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_write_time","type":"double precision","description":"Time spent writing data file blocks by backends in this database, in milliseconds","hidden":false,"type_oid":701,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":11171,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"numbackends","type":"integer","description":"Number of backends currently connected to this database. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset.","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_commit","type":"bigint","description":"Number of transactions in this database that have been committed","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_rollback","type":"bigint","description":"Number of transactions in this database that have been rolled back","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read in this database","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL buffer cache, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_returned","type":"bigint","description":"Number of rows returned by queries in this database","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_fetched","type":"bigint","description":"Number of rows fetched by queries in this database","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_inserted","type":"bigint","description":"Number of rows inserted by queries in this database","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_updated","type":"bigint","description":"Number of rows updated by queries in this database","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_deleted","type":"bigint","description":"Number of rows deleted by queries in this database","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conflicts","type":"bigint","description":"Number of queries canceled due to conflicts with recovery in this database. (Conflicts occur only on standby servers; see pg_stat_database_conflicts for details.)","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_files","type":"bigint","description":"Number of temporary files created by queries in this database. All temporary files are counted, regardless of why the temporary file was created (e.g., sorting or hashing), and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_bytes","type":"bigint","description":"Total amount of data written to temporary files by queries in this database. All temporary files are counted, regardless of why the temporary file was created, and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"deadlocks","type":"bigint","description":"Number of deadlocks detected in this database","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_read_time","type":"double precision","description":"Time spent reading data file blocks by backends in this database, in milliseconds","hidden":false,"type_oid":701,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_write_time","type":"double precision","description":"Time spent writing data file blocks by backends in this database, in milliseconds","hidden":false,"type_oid":701,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":11192,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"numbackends","type":"integer","description":"Number of backends currently connected to this database. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset.","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_commit","type":"bigint","description":"Number of transactions in this database that have been committed","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_rollback","type":"bigint","description":"Number of transactions in this database that have been rolled back","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read in this database","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL buffer cache, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_returned","type":"bigint","description":"Number of rows returned by queries in this database","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_fetched","type":"bigint","description":"Number of rows fetched by queries in this database","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_inserted","type":"bigint","description":"Number of rows inserted by queries in this database","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_updated","type":"bigint","description":"Number of rows updated by queries in this database","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_deleted","type":"bigint","description":"Number of rows deleted by queries in this database","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conflicts","type":"bigint","description":"Number of queries canceled due to conflicts with recovery in this database. (Conflicts occur only on standby servers; see pg_stat_database_conflicts for details.)","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_files","type":"bigint","description":"Number of temporary files created by queries in this database. All temporary files are counted, regardless of why the temporary file was created (e.g., sorting or hashing), and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_bytes","type":"bigint","description":"Total amount of data written to temporary files by queries in this database. All temporary files are counted, regardless of why the temporary file was created, and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"deadlocks","type":"bigint","description":"Number of deadlocks detected in this database","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_read_time","type":"double precision","description":"Time spent reading data file blocks by backends in this database, in milliseconds","hidden":false,"type_oid":701,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_write_time","type":"double precision","description":"Time spent writing data file blocks by backends in this database, in milliseconds","hidden":false,"type_oid":701,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":11294,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Several predefined views, listed in Table 27-1, are available to show the current state of the system. There are also several other views, listed in Table 27-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"numbackends","type":"integer","description":"Number of backends currently connected to this database. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset.","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_commit","type":"bigint","description":"Number of transactions in this database that have been committed","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_rollback","type":"bigint","description":"Number of transactions in this database that have been rolled back","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read in this database","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL buffer cache, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_returned","type":"bigint","description":"Number of rows returned by queries in this database","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_fetched","type":"bigint","description":"Number of rows fetched by queries in this database","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_inserted","type":"bigint","description":"Number of rows inserted by queries in this database","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_updated","type":"bigint","description":"Number of rows updated by queries in this database","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_deleted","type":"bigint","description":"Number of rows deleted by queries in this database","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conflicts","type":"bigint","description":"Number of queries canceled due to conflicts with recovery in this database. (Conflicts occur only on standby servers; see pg_stat_database_conflicts for details.)","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_files","type":"bigint","description":"Number of temporary files created by queries in this database. All temporary files are counted, regardless of why the temporary file was created (e.g., sorting or hashing), and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_bytes","type":"bigint","description":"Total amount of data written to temporary files by queries in this database. All temporary files are counted, regardless of why the temporary file was created, and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"deadlocks","type":"bigint","description":"Number of deadlocks detected in this database","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_read_time","type":"double precision","description":"Time spent reading data file blocks by backends in this database, in milliseconds","hidden":false,"type_oid":701,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_write_time","type":"double precision","description":"Time spent writing data file blocks by backends in this database, in milliseconds","hidden":false,"type_oid":701,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":11787,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Several predefined views, listed in Table 28-1, are available to show the current state of the system. There are also several other views, listed in Table 28-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"numbackends","type":"integer","description":"Number of backends currently connected to this database. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset.","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_commit","type":"bigint","description":"Number of transactions in this database that have been committed","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_rollback","type":"bigint","description":"Number of transactions in this database that have been rolled back","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read in this database","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL buffer cache, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_returned","type":"bigint","description":"Number of rows returned by queries in this database","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_fetched","type":"bigint","description":"Number of rows fetched by queries in this database","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_inserted","type":"bigint","description":"Number of rows inserted by queries in this database","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_updated","type":"bigint","description":"Number of rows updated by queries in this database","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_deleted","type":"bigint","description":"Number of rows deleted by queries in this database","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conflicts","type":"bigint","description":"Number of queries canceled due to conflicts with recovery in this database. (Conflicts occur only on standby servers; see pg_stat_database_conflicts for details.)","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_files","type":"bigint","description":"Number of temporary files created by queries in this database. All temporary files are counted, regardless of why the temporary file was created (e.g., sorting or hashing), and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_bytes","type":"bigint","description":"Total amount of data written to temporary files by queries in this database. All temporary files are counted, regardless of why the temporary file was created, and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"deadlocks","type":"bigint","description":"Number of deadlocks detected in this database","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_read_time","type":"double precision","description":"Time spent reading data file blocks by backends in this database, in milliseconds","hidden":false,"type_oid":701,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_write_time","type":"double precision","description":"Time spent writing data file blocks by backends in this database, in milliseconds","hidden":false,"type_oid":701,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":11815,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"numbackends","type":"integer","description":"Number of backends currently connected to this database. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset.","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_commit","type":"bigint","description":"Number of transactions in this database that have been committed","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_rollback","type":"bigint","description":"Number of transactions in this database that have been rolled back","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read in this database","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL buffer cache, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_returned","type":"bigint","description":"Number of rows returned by queries in this database","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_fetched","type":"bigint","description":"Number of rows fetched by queries in this database","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_inserted","type":"bigint","description":"Number of rows inserted by queries in this database","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_updated","type":"bigint","description":"Number of rows updated by queries in this database","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_deleted","type":"bigint","description":"Number of rows deleted by queries in this database","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conflicts","type":"bigint","description":"Number of queries canceled due to conflicts with recovery in this database. (Conflicts occur only on standby servers; see pg_stat_database_conflicts for details.)","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_files","type":"bigint","description":"Number of temporary files created by queries in this database. All temporary files are counted, regardless of why the temporary file was created (e.g., sorting or hashing), and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_bytes","type":"bigint","description":"Total amount of data written to temporary files by queries in this database. All temporary files are counted, regardless of why the temporary file was created, and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"deadlocks","type":"bigint","description":"Number of deadlocks detected in this database","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_read_time","type":"double precision","description":"Time spent reading data file blocks by backends in this database, in milliseconds","hidden":false,"type_oid":701,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_write_time","type":"double precision","description":"Time spent writing data file blocks by backends in this database, in milliseconds","hidden":false,"type_oid":701,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html#PG-STAT-DATABASE-VIEW","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":11703,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"numbackends","type":"integer","description":"Number of backends currently connected to this database. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset.","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_commit","type":"bigint","description":"Number of transactions in this database that have been committed","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_rollback","type":"bigint","description":"Number of transactions in this database that have been rolled back","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read in this database","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL buffer cache, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_returned","type":"bigint","description":"Number of rows returned by queries in this database","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_fetched","type":"bigint","description":"Number of rows fetched by queries in this database","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_inserted","type":"bigint","description":"Number of rows inserted by queries in this database","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_updated","type":"bigint","description":"Number of rows updated by queries in this database","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_deleted","type":"bigint","description":"Number of rows deleted by queries in this database","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conflicts","type":"bigint","description":"Number of queries canceled due to conflicts with recovery in this database. (Conflicts occur only on standby servers; see pg_stat_database_conflicts for details.)","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_files","type":"bigint","description":"Number of temporary files created by queries in this database. All temporary files are counted, regardless of why the temporary file was created (e.g., sorting or hashing), and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_bytes","type":"bigint","description":"Total amount of data written to temporary files by queries in this database. All temporary files are counted, regardless of why the temporary file was created, and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"deadlocks","type":"bigint","description":"Number of deadlocks detected in this database","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_read_time","type":"double precision","description":"Time spent reading data file blocks by backends in this database, in milliseconds","hidden":false,"type_oid":701,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_write_time","type":"double precision","description":"Time spent writing data file blocks by backends in this database, in milliseconds","hidden":false,"type_oid":701,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html#PG-STAT-DATABASE-VIEW","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":11771,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Several predefined views, listed in Table 27.1, are available to show the current state of the system. There are also several other views, listed in Table 27.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nSome of the information in the dynamic statistics views shown in Table 27.1 is security restricted. Ordinary users can only see all the information about their own sessions (sessions belonging to a role that they are a member of). In rows about other sessions, many columns will be null. Note, however, that the existence of a session and its general properties such as its sessions user and database are visible to all users. Superusers and members of the built-in role pg_read_all_stats (see also Section 21.5) can see all the information about all sessions.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, plus one for the shared objects, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"datid","type":"oid","description":"OID of this database, or 0 for objects belonging to a shared relation","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database, or NULL for the shared objects.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"numbackends","type":"integer","description":"Number of backends currently connected to this database, or NULL for the shared objects. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset.","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_commit","type":"bigint","description":"Number of transactions in this database that have been committed","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_rollback","type":"bigint","description":"Number of transactions in this database that have been rolled back","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read in this database","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL buffer cache, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_returned","type":"bigint","description":"Number of rows returned by queries in this database","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_fetched","type":"bigint","description":"Number of rows fetched by queries in this database","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_inserted","type":"bigint","description":"Number of rows inserted by queries in this database","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_updated","type":"bigint","description":"Number of rows updated by queries in this database","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_deleted","type":"bigint","description":"Number of rows deleted by queries in this database","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conflicts","type":"bigint","description":"Number of queries canceled due to conflicts with recovery in this database. (Conflicts occur only on standby servers; see pg_stat_database_conflicts for details.)","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_files","type":"bigint","description":"Number of temporary files created by queries in this database. All temporary files are counted, regardless of why the temporary file was created (e.g., sorting or hashing), and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_bytes","type":"bigint","description":"Total amount of data written to temporary files by queries in this database. All temporary files are counted, regardless of why the temporary file was created, and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"deadlocks","type":"bigint","description":"Number of deadlocks detected in this database","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checksum_failures","type":"bigint","description":"Number of data page checksum failures detected in this database (or on a shared object), or NULL if data checksums are not enabled.","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checksum_last_failure","type":"timestamp with time zone","description":"Time at which the last data page checksum failure was detected in this database (or on a shared object), or NULL if data checksums are not enabled.","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_read_time","type":"double precision","description":"Time spent reading data file blocks by backends in this database, in milliseconds","hidden":false,"type_oid":701,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_write_time","type":"double precision","description":"Time spent writing data file blocks by backends in this database, in milliseconds","hidden":false,"type_oid":701,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html#PG-STAT-DATABASE-VIEW","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","source_column_count":21,"documentary_schema_source":"documentation","relation_oid":12272,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_stat_database view will contain one row for each database in the cluster, plus one for shared objects, showing database-wide statistics.","columns":[{"name":"datid","type":"oid","description":"OID of this database, or 0 for objects belonging to a shared relation","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database, or NULL for shared objects.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"numbackends","type":"integer","description":"Number of backends currently connected to this database, or NULL for shared objects. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset.","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_commit","type":"bigint","description":"Number of transactions in this database that have been committed","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_rollback","type":"bigint","description":"Number of transactions in this database that have been rolled back","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read in this database","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL buffer cache, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_returned","type":"bigint","description":"Number of rows returned by queries in this database","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_fetched","type":"bigint","description":"Number of rows fetched by queries in this database","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_inserted","type":"bigint","description":"Number of rows inserted by queries in this database","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_updated","type":"bigint","description":"Number of rows updated by queries in this database","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_deleted","type":"bigint","description":"Number of rows deleted by queries in this database","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conflicts","type":"bigint","description":"Number of queries canceled due to conflicts with recovery in this database. (Conflicts occur only on standby servers; see pg_stat_database_conflicts for details.)","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_files","type":"bigint","description":"Number of temporary files created by queries in this database. All temporary files are counted, regardless of why the temporary file was created (e.g., sorting or hashing), and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_bytes","type":"bigint","description":"Total amount of data written to temporary files by queries in this database. All temporary files are counted, regardless of why the temporary file was created, and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"deadlocks","type":"bigint","description":"Number of deadlocks detected in this database","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checksum_failures","type":"bigint","description":"Number of data page checksum failures detected in this database (or on a shared object), or NULL if data checksums are not enabled.","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checksum_last_failure","type":"timestamp with time zone","description":"Time at which the last data page checksum failure was detected in this database (or on a shared object), or NULL if data checksums are not enabled.","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_read_time","type":"double precision","description":"Time spent reading data file blocks by backends in this database, in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_write_time","type":"double precision","description":"Time spent writing data file blocks by backends in this database, in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html#PG-STAT-DATABASE-VIEW","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":21,"documentary_schema_source":"documentation","relation_oid":12277,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_stat_database view will contain one row for each database in the cluster, plus one for shared objects, showing database-wide statistics.","columns":[{"name":"datid","type":"oid","description":"OID of this database, or 0 for objects belonging to a shared relation","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database, or NULL for shared objects.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"numbackends","type":"integer","description":"Number of backends currently connected to this database, or NULL for shared objects. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset.","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_commit","type":"bigint","description":"Number of transactions in this database that have been committed","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_rollback","type":"bigint","description":"Number of transactions in this database that have been rolled back","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read in this database","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL buffer cache, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_returned","type":"bigint","description":"Number of rows returned by queries in this database","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_fetched","type":"bigint","description":"Number of rows fetched by queries in this database","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_inserted","type":"bigint","description":"Number of rows inserted by queries in this database","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_updated","type":"bigint","description":"Number of rows updated by queries in this database","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_deleted","type":"bigint","description":"Number of rows deleted by queries in this database","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conflicts","type":"bigint","description":"Number of queries canceled due to conflicts with recovery in this database. (Conflicts occur only on standby servers; see pg_stat_database_conflicts for details.)","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_files","type":"bigint","description":"Number of temporary files created by queries in this database. All temporary files are counted, regardless of why the temporary file was created (e.g., sorting or hashing), and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_bytes","type":"bigint","description":"Total amount of data written to temporary files by queries in this database. All temporary files are counted, regardless of why the temporary file was created, and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"deadlocks","type":"bigint","description":"Number of deadlocks detected in this database","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checksum_failures","type":"bigint","description":"Number of data page checksum failures detected in this database (or on a shared object), or NULL if data checksums are not enabled.","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checksum_last_failure","type":"timestamp with time zone","description":"Time at which the last data page checksum failure was detected in this database (or on a shared object), or NULL if data checksums are not enabled.","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_read_time","type":"double precision","description":"Time spent reading data file blocks by backends in this database, in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_write_time","type":"double precision","description":"Time spent writing data file blocks by backends in this database, in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"session_time","type":"double precision","description":"Time spent by database sessions in this database, in milliseconds (note that statistics are only updated when the state of a session changes, so if sessions have been idle for a long time, this idle time won't be included)","hidden":false,"type_oid":701,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active_time","type":"double precision","description":"Time spent executing SQL statements in this database, in milliseconds (this corresponds to the states active and fastpath function call in pg_stat_activity)","hidden":false,"type_oid":701,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idle_in_transaction_time","type":"double precision","description":"Time spent idling while in a transaction in this database, in milliseconds (this corresponds to the states idle in transaction and idle in transaction (aborted) in pg_stat_activity)","hidden":false,"type_oid":701,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions","type":"bigint","description":"Total number of sessions established to this database","hidden":false,"type_oid":20,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_abandoned","type":"bigint","description":"Number of database sessions to this database that were terminated because connection to the client was lost","hidden":false,"type_oid":20,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_fatal","type":"bigint","description":"Number of database sessions to this database that were terminated by fatal errors","hidden":false,"type_oid":20,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_killed","type":"bigint","description":"Number of database sessions to this database that were terminated by operator intervention","hidden":false,"type_oid":20,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html#PG-STAT-DATABASE-VIEW","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":28,"documentary_schema_source":"documentation","relation_oid":12475,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_stat_database view will contain one row for each database in the cluster, plus one for shared objects, showing database-wide statistics.","columns":[{"name":"datid","type":"oid","description":"OID of this database, or 0 for objects belonging to a shared relation","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database, or NULL for shared objects.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"numbackends","type":"integer","description":"Number of backends currently connected to this database, or NULL for shared objects. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset.","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_commit","type":"bigint","description":"Number of transactions in this database that have been committed","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_rollback","type":"bigint","description":"Number of transactions in this database that have been rolled back","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read in this database","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL buffer cache, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_returned","type":"bigint","description":"Number of live rows fetched by sequential scans and index entries returned by index scans in this database","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_fetched","type":"bigint","description":"Number of live rows fetched by index scans in this database","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_inserted","type":"bigint","description":"Number of rows inserted by queries in this database","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_updated","type":"bigint","description":"Number of rows updated by queries in this database","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_deleted","type":"bigint","description":"Number of rows deleted by queries in this database","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conflicts","type":"bigint","description":"Number of queries canceled due to conflicts with recovery in this database. (Conflicts occur only on standby servers; see pg_stat_database_conflicts for details.)","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_files","type":"bigint","description":"Number of temporary files created by queries in this database. All temporary files are counted, regardless of why the temporary file was created (e.g., sorting or hashing), and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_bytes","type":"bigint","description":"Total amount of data written to temporary files by queries in this database. All temporary files are counted, regardless of why the temporary file was created, and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"deadlocks","type":"bigint","description":"Number of deadlocks detected in this database","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checksum_failures","type":"bigint","description":"Number of data page checksum failures detected in this database (or on a shared object), or NULL if data checksums are not enabled.","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checksum_last_failure","type":"timestamp with time zone","description":"Time at which the last data page checksum failure was detected in this database (or on a shared object), or NULL if data checksums are not enabled.","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_read_time","type":"double precision","description":"Time spent reading data file blocks by backends in this database, in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_write_time","type":"double precision","description":"Time spent writing data file blocks by backends in this database, in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"session_time","type":"double precision","description":"Time spent by database sessions in this database, in milliseconds (note that statistics are only updated when the state of a session changes, so if sessions have been idle for a long time, this idle time won't be included)","hidden":false,"type_oid":701,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active_time","type":"double precision","description":"Time spent executing SQL statements in this database, in milliseconds (this corresponds to the states active and fastpath function call in pg_stat_activity)","hidden":false,"type_oid":701,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idle_in_transaction_time","type":"double precision","description":"Time spent idling while in a transaction in this database, in milliseconds (this corresponds to the states idle in transaction and idle in transaction (aborted) in pg_stat_activity)","hidden":false,"type_oid":701,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions","type":"bigint","description":"Total number of sessions established to this database","hidden":false,"type_oid":20,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_abandoned","type":"bigint","description":"Number of database sessions to this database that were terminated because connection to the client was lost","hidden":false,"type_oid":20,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_fatal","type":"bigint","description":"Number of database sessions to this database that were terminated by fatal errors","hidden":false,"type_oid":20,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_killed","type":"bigint","description":"Number of database sessions to this database that were terminated by operator intervention","hidden":false,"type_oid":20,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STAT-DATABASE-VIEW","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":28,"documentary_schema_source":"documentation","relation_oid":12266,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_stat_database view will contain one row for each database in the cluster, plus one for shared objects, showing database-wide statistics.","columns":[{"name":"datid","type":"oid","description":"OID of this database, or 0 for objects belonging to a shared relation","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database, or NULL for shared objects.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"numbackends","type":"integer","description":"Number of backends currently connected to this database, or NULL for shared objects. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset.","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_commit","type":"bigint","description":"Number of transactions in this database that have been committed","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_rollback","type":"bigint","description":"Number of transactions in this database that have been rolled back","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read in this database","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL buffer cache, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_returned","type":"bigint","description":"Number of live rows fetched by sequential scans and index entries returned by index scans in this database","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_fetched","type":"bigint","description":"Number of live rows fetched by index scans in this database","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_inserted","type":"bigint","description":"Number of rows inserted by queries in this database","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_updated","type":"bigint","description":"Number of rows updated by queries in this database","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_deleted","type":"bigint","description":"Number of rows deleted by queries in this database","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conflicts","type":"bigint","description":"Number of queries canceled due to conflicts with recovery in this database. (Conflicts occur only on standby servers; see pg_stat_database_conflicts for details.)","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_files","type":"bigint","description":"Number of temporary files created by queries in this database. All temporary files are counted, regardless of why the temporary file was created (e.g., sorting or hashing), and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_bytes","type":"bigint","description":"Total amount of data written to temporary files by queries in this database. All temporary files are counted, regardless of why the temporary file was created, and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"deadlocks","type":"bigint","description":"Number of deadlocks detected in this database","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checksum_failures","type":"bigint","description":"Number of data page checksum failures detected in this database (or on a shared object), or NULL if data checksums are not enabled.","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checksum_last_failure","type":"timestamp with time zone","description":"Time at which the last data page checksum failure was detected in this database (or on a shared object), or NULL if data checksums are not enabled.","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_read_time","type":"double precision","description":"Time spent reading data file blocks by backends in this database, in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_write_time","type":"double precision","description":"Time spent writing data file blocks by backends in this database, in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"session_time","type":"double precision","description":"Time spent by database sessions in this database, in milliseconds (note that statistics are only updated when the state of a session changes, so if sessions have been idle for a long time, this idle time won't be included)","hidden":false,"type_oid":701,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active_time","type":"double precision","description":"Time spent executing SQL statements in this database, in milliseconds (this corresponds to the states active and fastpath function call in pg_stat_activity)","hidden":false,"type_oid":701,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idle_in_transaction_time","type":"double precision","description":"Time spent idling while in a transaction in this database, in milliseconds (this corresponds to the states idle in transaction and idle in transaction (aborted) in pg_stat_activity)","hidden":false,"type_oid":701,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions","type":"bigint","description":"Total number of sessions established to this database","hidden":false,"type_oid":20,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_abandoned","type":"bigint","description":"Number of database sessions to this database that were terminated because connection to the client was lost","hidden":false,"type_oid":20,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_fatal","type":"bigint","description":"Number of database sessions to this database that were terminated by fatal errors","hidden":false,"type_oid":20,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_killed","type":"bigint","description":"Number of database sessions to this database that were terminated by operator intervention","hidden":false,"type_oid":20,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STAT-DATABASE-VIEW","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":28,"documentary_schema_source":"documentation","relation_oid":12266,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_stat_database view will contain one row for each database in the cluster, plus one for shared objects, showing database-wide statistics.","columns":[{"name":"datid","type":"oid","description":"OID of this database, or 0 for objects belonging to a shared relation","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database, or NULL for shared objects.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"numbackends","type":"integer","description":"Number of backends currently connected to this database, or NULL for shared objects. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset.","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_commit","type":"bigint","description":"Number of transactions in this database that have been committed","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_rollback","type":"bigint","description":"Number of transactions in this database that have been rolled back","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read in this database","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL buffer cache, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_returned","type":"bigint","description":"Number of live rows fetched by sequential scans and index entries returned by index scans in this database","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_fetched","type":"bigint","description":"Number of live rows fetched by index scans in this database","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_inserted","type":"bigint","description":"Number of rows inserted by queries in this database","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_updated","type":"bigint","description":"Number of rows updated by queries in this database","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_deleted","type":"bigint","description":"Number of rows deleted by queries in this database","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conflicts","type":"bigint","description":"Number of queries canceled due to conflicts with recovery in this database. (Conflicts occur only on standby servers; see pg_stat_database_conflicts for details.)","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_files","type":"bigint","description":"Number of temporary files created by queries in this database. All temporary files are counted, regardless of why the temporary file was created (e.g., sorting or hashing), and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_bytes","type":"bigint","description":"Total amount of data written to temporary files by queries in this database. All temporary files are counted, regardless of why the temporary file was created, and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"deadlocks","type":"bigint","description":"Number of deadlocks detected in this database","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checksum_failures","type":"bigint","description":"Number of data page checksum failures detected in this database (or on a shared object), or NULL if data checksums are not enabled.","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checksum_last_failure","type":"timestamp with time zone","description":"Time at which the last data page checksum failure was detected in this database (or on a shared object), or NULL if data checksums are not enabled.","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_read_time","type":"double precision","description":"Time spent reading data file blocks by backends in this database, in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_write_time","type":"double precision","description":"Time spent writing data file blocks by backends in this database, in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"session_time","type":"double precision","description":"Time spent by database sessions in this database, in milliseconds (note that statistics are only updated when the state of a session changes, so if sessions have been idle for a long time, this idle time won't be included)","hidden":false,"type_oid":701,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active_time","type":"double precision","description":"Time spent executing SQL statements in this database, in milliseconds (this corresponds to the states active and fastpath function call in pg_stat_activity)","hidden":false,"type_oid":701,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idle_in_transaction_time","type":"double precision","description":"Time spent idling while in a transaction in this database, in milliseconds (this corresponds to the states idle in transaction and idle in transaction (aborted) in pg_stat_activity)","hidden":false,"type_oid":701,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions","type":"bigint","description":"Total number of sessions established to this database","hidden":false,"type_oid":20,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_abandoned","type":"bigint","description":"Number of database sessions to this database that were terminated because connection to the client was lost","hidden":false,"type_oid":20,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_fatal","type":"bigint","description":"Number of database sessions to this database that were terminated by fatal errors","hidden":false,"type_oid":20,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_killed","type":"bigint","description":"Number of database sessions to this database that were terminated by operator intervention","hidden":false,"type_oid":20,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STAT-DATABASE-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":28,"documentary_schema_source":"documentation","relation_oid":12266,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_stat_database view will contain one row for each database in the cluster, plus one for shared objects, showing database-wide statistics.","columns":[{"name":"datid","type":"oid","description":"OID of this database, or 0 for objects belonging to a shared relation","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database, or NULL for shared objects.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"numbackends","type":"integer","description":"Number of backends currently connected to this database, or NULL for shared objects. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset.","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_commit","type":"bigint","description":"Number of transactions in this database that have been committed","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_rollback","type":"bigint","description":"Number of transactions in this database that have been rolled back","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read in this database","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL buffer cache, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_returned","type":"bigint","description":"Number of live rows fetched by sequential scans and index entries returned by index scans in this database","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_fetched","type":"bigint","description":"Number of live rows fetched by index scans in this database","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_inserted","type":"bigint","description":"Number of rows inserted by queries in this database","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_updated","type":"bigint","description":"Number of rows updated by queries in this database","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_deleted","type":"bigint","description":"Number of rows deleted by queries in this database","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conflicts","type":"bigint","description":"Number of queries canceled due to conflicts with recovery in this database. (Conflicts occur only on standby servers; see pg_stat_database_conflicts for details.)","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_files","type":"bigint","description":"Number of temporary files created by queries in this database. All temporary files are counted, regardless of why the temporary file was created (e.g., sorting or hashing), and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_bytes","type":"bigint","description":"Total amount of data written to temporary files by queries in this database. All temporary files are counted, regardless of why the temporary file was created, and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"deadlocks","type":"bigint","description":"Number of deadlocks detected in this database","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checksum_failures","type":"bigint","description":"Number of data page checksum failures detected in this database (or on a shared object), or NULL if data checksums are disabled.","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checksum_last_failure","type":"timestamp with time zone","description":"Time at which the last data page checksum failure was detected in this database (or on a shared object), or NULL if data checksums are disabled.","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_read_time","type":"double precision","description":"Time spent reading data file blocks by backends in this database, in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_write_time","type":"double precision","description":"Time spent writing data file blocks by backends in this database, in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"session_time","type":"double precision","description":"Time spent by database sessions in this database, in milliseconds (note that statistics are only updated when the state of a session changes, so if sessions have been idle for a long time, this idle time won't be included)","hidden":false,"type_oid":701,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active_time","type":"double precision","description":"Time spent executing SQL statements in this database, in milliseconds (this corresponds to the states active and fastpath function call in pg_stat_activity)","hidden":false,"type_oid":701,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idle_in_transaction_time","type":"double precision","description":"Time spent idling while in a transaction in this database, in milliseconds (this corresponds to the states idle in transaction and idle in transaction (aborted) in pg_stat_activity)","hidden":false,"type_oid":701,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions","type":"bigint","description":"Total number of sessions established to this database","hidden":false,"type_oid":20,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_abandoned","type":"bigint","description":"Number of database sessions to this database that were terminated because connection to the client was lost","hidden":false,"type_oid":20,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_fatal","type":"bigint","description":"Number of database sessions to this database that were terminated by fatal errors","hidden":false,"type_oid":20,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_killed","type":"bigint","description":"Number of database sessions to this database that were terminated by operator intervention","hidden":false,"type_oid":20,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parallel_workers_to_launch","type":"bigint","description":"Number of parallel workers planned to be launched by queries on this database","hidden":false,"type_oid":20,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parallel_workers_launched","type":"bigint","description":"Number of parallel workers launched by queries on this database","hidden":false,"type_oid":20,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STAT-DATABASE-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":30,"documentary_schema_source":"documentation","relation_oid":12270,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_stat_database view will contain one row for each database in the cluster, plus one for shared objects, showing database-wide statistics.","columns":[{"name":"datid","type":"oid","description":"OID of this database, or 0 for objects belonging to a shared relation","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database, or NULL for shared objects.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"numbackends","type":"integer","description":"Number of backends currently connected to this database, or NULL for shared objects. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset.","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_commit","type":"bigint","description":"Number of transactions in this database that have been committed","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"xact_rollback","type":"bigint","description":"Number of transactions in this database that have been rolled back","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read in this database","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL buffer cache, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_returned","type":"bigint","description":"Number of live rows fetched by sequential scans and index entries returned by index scans in this database","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_fetched","type":"bigint","description":"Number of live rows fetched by index scans in this database","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_inserted","type":"bigint","description":"Number of rows inserted by queries in this database","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_updated","type":"bigint","description":"Number of rows updated by queries in this database","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tup_deleted","type":"bigint","description":"Number of rows deleted by queries in this database","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conflicts","type":"bigint","description":"Number of queries canceled due to conflicts with recovery in this database. (Conflicts occur only on standby servers; see pg_stat_database_conflicts for details.)","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_files","type":"bigint","description":"Number of temporary files created by queries in this database. All temporary files are counted, regardless of why the temporary file was created (e.g., sorting or hashing), and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_bytes","type":"bigint","description":"Total amount of data written to temporary files by queries in this database. All temporary files are counted, regardless of why the temporary file was created, and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"deadlocks","type":"bigint","description":"Number of deadlocks detected in this database","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checksum_failures","type":"bigint","description":"Number of data page checksum failures detected in this database (or on a shared object). Detected failures are not reset if the data_checksums setting changes. Clusters which are initialized without data checksums will show this as 0. In PostgreSQL version 18 and earlier, this was set to NULL for clusters with data checksums disabled.","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checksum_last_failure","type":"timestamp with time zone","description":"Time at which the last data page checksum failure was detected in this database (or on a shared object). Last failure is reported regardless of the data_checksums setting.","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_read_time","type":"double precision","description":"Time spent reading data file blocks by backends in this database, in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_write_time","type":"double precision","description":"Time spent writing data file blocks by backends in this database, in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"session_time","type":"double precision","description":"Time spent by database sessions in this database, in milliseconds (note that statistics are only updated when the state of a session changes, so if sessions have been idle for a long time, this idle time won't be included)","hidden":false,"type_oid":701,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active_time","type":"double precision","description":"Time spent executing SQL statements in this database, in milliseconds (this corresponds to the states active and fastpath function call in pg_stat_activity)","hidden":false,"type_oid":701,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idle_in_transaction_time","type":"double precision","description":"Time spent idling while in a transaction in this database, in milliseconds (this corresponds to the states idle in transaction and idle in transaction (aborted) in pg_stat_activity)","hidden":false,"type_oid":701,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions","type":"bigint","description":"Total number of sessions established to this database","hidden":false,"type_oid":20,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_abandoned","type":"bigint","description":"Number of database sessions to this database that were terminated because connection to the client was lost","hidden":false,"type_oid":20,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_fatal","type":"bigint","description":"Number of database sessions to this database that were terminated by fatal errors","hidden":false,"type_oid":20,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_killed","type":"bigint","description":"Number of database sessions to this database that were terminated by operator intervention","hidden":false,"type_oid":20,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parallel_workers_to_launch","type":"bigint","description":"Number of parallel workers planned to be launched by queries on this database","hidden":false,"type_oid":20,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parallel_workers_launched","type":"bigint","description":"Number of parallel workers launched by queries on this database","hidden":false,"type_oid":20,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-DATABASE-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":30,"documentary_schema_source":"documentation","relation_oid":12292,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[{"name":"conflicts","type":"bigint","type_oid":20,"description":"Number of queries canceled due to conflicts with recovery in this database. (Conflicts occur only on standby servers; see pg_stat_database_conflicts for details.)","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L531","type_evidence":{"expression":"pg_stat_get_db_conflict_all(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_conflict_all","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2603"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","type_oid":1184,"description":"Time at which these statistics were last reset","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L531","type_evidence":{"expression":"pg_stat_get_db_stat_reset_time(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_stat_reset_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2605"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[{"name":"temp_files","type":"bigint","description":"Number of temporary files created by queries in this database. All temporary files are counted, regardless of why the temporary file was created (e.g., sorting or hashing), and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"temp_bytes","type":"bigint","description":"Total amount of data written to temporary files by queries in this database. All temporary files are counted, regardless of why the temporary file was created, and regardless of the log_temp_files setting.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"deadlocks","type":"bigint","description":"Number of deadlocks detected in this database","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_read_time","type":"double precision","description":"Time spent reading data file blocks by backends in this database, in milliseconds","hidden":false,"type_oid":701,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blk_write_time","type":"double precision","description":"Time spent writing data file blocks by backends in this database, in milliseconds","hidden":false,"type_oid":701,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.3","to":"9.4","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[{"name":"checksum_failures","type":"bigint","description":"Number of data page checksum failures detected in this database (or on a shared object), or NULL if data checksums are not enabled.","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"checksum_last_failure","type":"timestamp with time zone","description":"Time at which the last data page checksum failure was detected in this database (or on a shared object), or NULL if data checksums are not enabled.","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"datid","from":"OID of a database","to":"OID of this database, or 0 for objects belonging to a shared relation"},{"name":"datname","from":"Name of this database","to":"Name of this database, or NULL for the shared objects."},{"name":"numbackends","from":"Number of backends currently connected to this database. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset.","to":"Number of backends currently connected to this database, or NULL for the shared objects. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"blk_read_time","from":"Time spent reading data file blocks by backends in this database, in milliseconds","to":"Time spent reading data file blocks by backends in this database, in milliseconds (if track_io_timing is enabled, otherwise zero)"},{"name":"blk_write_time","from":"Time spent writing data file blocks by backends in this database, in milliseconds","to":"Time spent writing data file blocks by backends in this database, in milliseconds (if track_io_timing is enabled, otherwise zero)"},{"name":"datname","from":"Name of this database, or NULL for the shared objects.","to":"Name of this database, or NULL for shared objects."},{"name":"numbackends","from":"Number of backends currently connected to this database, or NULL for the shared objects. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset.","to":"Number of backends currently connected to this database, or NULL for shared objects. This is the only column in this view that returns a value reflecting current state; all other columns return the accumulated values since the last reset."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[{"name":"session_time","type":"double precision","description":"Time spent by database sessions in this database, in milliseconds (note that statistics are only updated when the state of a session changes, so if sessions have been idle for a long time, this idle time won't be included)","hidden":false,"type_oid":701,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"active_time","type":"double precision","description":"Time spent executing SQL statements in this database, in milliseconds (this corresponds to the states active and fastpath function call in pg_stat_activity)","hidden":false,"type_oid":701,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idle_in_transaction_time","type":"double precision","description":"Time spent idling while in a transaction in this database, in milliseconds (this corresponds to the states idle in transaction and idle in transaction (aborted) in pg_stat_activity)","hidden":false,"type_oid":701,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions","type":"bigint","description":"Total number of sessions established to this database","hidden":false,"type_oid":20,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_abandoned","type":"bigint","description":"Number of database sessions to this database that were terminated because connection to the client was lost","hidden":false,"type_oid":20,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_fatal","type":"bigint","description":"Number of database sessions to this database that were terminated by fatal errors","hidden":false,"type_oid":20,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sessions_killed","type":"bigint","description":"Number of database sessions to this database that were terminated by operator intervention","hidden":false,"type_oid":20,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"tup_fetched","from":"Number of rows fetched by queries in this database","to":"Number of live rows fetched by index scans in this database"},{"name":"tup_returned","from":"Number of rows returned by queries in this database","to":"Number of live rows fetched by sequential scans and index entries returned by index scans in this database"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"17","to":"18","status":"changed","added_columns":[{"name":"parallel_workers_to_launch","type":"bigint","description":"Number of parallel workers planned to be launched by queries on this database","hidden":false,"type_oid":20,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"parallel_workers_launched","type":"bigint","description":"Number of parallel workers launched by queries on this database","hidden":false,"type_oid":20,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"checksum_failures","from":"Number of data page checksum failures detected in this database (or on a shared object), or NULL if data checksums are not enabled.","to":"Number of data page checksum failures detected in this database (or on a shared object), or NULL if data checksums are disabled."},{"name":"checksum_last_failure","from":"Time at which the last data page checksum failure was detected in this database (or on a shared object), or NULL if data checksums are not enabled.","to":"Time at which the last data page checksum failure was detected in this database (or on a shared object), or NULL if data checksums are disabled."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"checksum_failures","from":"Number of data page checksum failures detected in this database (or on a shared object), or NULL if data checksums are disabled.","to":"Number of data page checksum failures detected in this database (or on a shared object). Detected failures are not reset if the data_checksums setting changes. Clusters which are initialized without data checksums will show this as 0. In PostgreSQL version 18 and earlier, this was set to NULL for clusters with data checksums disabled."},{"name":"checksum_last_failure","from":"Time at which the last data page checksum failure was detected in this database (or on a shared object), or NULL if data checksums are disabled.","to":"Time at which the last data page checksum failure was detected in this database (or on a shared object). Last failure is reported regardless of the data_checksums setting."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_stat_database_conflicts","kind":"statistics","summary":"One row per database, showing database-wide statistics about query cancels due to conflict with recovery on standby servers. See pg_stat_database_conflicts for details.","first_version":"9.1","last_version":"19","versions":{"9.1":{"description":"One row per database, showing database OID, database name and the number of queries that have been canceled in this database due to dropped tablespaces, lock timeouts, old snapshots, pinned buffers and deadlocks. Will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"datid","type":"oid","type_oid":26,"description":"OID of a database","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L550","type_evidence":{"expression":"D.oid","method":"catalog_oid_system_column","catalog_field":"pg_database.oid"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","type_oid":19,"description":"Name of this database","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L550","type_evidence":{"expression":"D.datname","method":"catalog_name_column","catalog_field":"pg_database.datname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-database.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_tablespace","type":"bigint","type_oid":20,"description":"Number of queries in this database that have been canceled due to dropped tablespaces","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L550","type_evidence":{"expression":"pg_stat_get_db_conflict_tablespace(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_conflict_tablespace","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2593"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_lock","type":"bigint","type_oid":20,"description":"Number of queries in this database that have been canceled due to lock timeouts","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L550","type_evidence":{"expression":"pg_stat_get_db_conflict_lock(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_conflict_lock","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2595"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_snapshot","type":"bigint","type_oid":20,"description":"Number of queries in this database that have been canceled due to old snapshots","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L550","type_evidence":{"expression":"pg_stat_get_db_conflict_snapshot(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_conflict_snapshot","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2597"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_bufferpin","type":"bigint","type_oid":20,"description":"Number of queries in this database that have been canceled due to pinned buffers","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L550","type_evidence":{"expression":"pg_stat_get_db_conflict_bufferpin(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_conflict_bufferpin","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2599"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_deadlock","type":"bigint","type_oid":20,"description":"Number of queries in this database that have been canceled due to deadlocks","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L550","type_evidence":{"expression":"pg_stat_get_db_conflict_startup_deadlock(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_conflict_startup_deadlock","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2601"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L550","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":7,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11104,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_tablespace","type":"bigint","description":"Number of queries in this database that have been canceled due to dropped tablespaces","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_lock","type":"bigint","description":"Number of queries in this database that have been canceled due to lock timeouts","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_snapshot","type":"bigint","description":"Number of queries in this database that have been canceled due to old snapshots","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_bufferpin","type":"bigint","description":"Number of queries in this database that have been canceled due to pinned buffers","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_deadlock","type":"bigint","description":"Number of queries in this database that have been canceled due to deadlocks","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11174,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_tablespace","type":"bigint","description":"Number of queries in this database that have been canceled due to dropped tablespaces","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_lock","type":"bigint","description":"Number of queries in this database that have been canceled due to lock timeouts","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_snapshot","type":"bigint","description":"Number of queries in this database that have been canceled due to old snapshots","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_bufferpin","type":"bigint","description":"Number of queries in this database that have been canceled due to pinned buffers","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_deadlock","type":"bigint","description":"Number of queries in this database that have been canceled due to deadlocks","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11195,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_tablespace","type":"bigint","description":"Number of queries in this database that have been canceled due to dropped tablespaces","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_lock","type":"bigint","description":"Number of queries in this database that have been canceled due to lock timeouts","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_snapshot","type":"bigint","description":"Number of queries in this database that have been canceled due to old snapshots","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_bufferpin","type":"bigint","description":"Number of queries in this database that have been canceled due to pinned buffers","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_deadlock","type":"bigint","description":"Number of queries in this database that have been canceled due to deadlocks","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11297,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Several predefined views, listed in Table 27-1, are available to show the current state of the system. There are also several other views, listed in Table 27-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_tablespace","type":"bigint","description":"Number of queries in this database that have been canceled due to dropped tablespaces","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_lock","type":"bigint","description":"Number of queries in this database that have been canceled due to lock timeouts","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_snapshot","type":"bigint","description":"Number of queries in this database that have been canceled due to old snapshots","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_bufferpin","type":"bigint","description":"Number of queries in this database that have been canceled due to pinned buffers","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_deadlock","type":"bigint","description":"Number of queries in this database that have been canceled due to deadlocks","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11790,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Several predefined views, listed in Table 28-1, are available to show the current state of the system. There are also several other views, listed in Table 28-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_tablespace","type":"bigint","description":"Number of queries in this database that have been canceled due to dropped tablespaces","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_lock","type":"bigint","description":"Number of queries in this database that have been canceled due to lock timeouts","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_snapshot","type":"bigint","description":"Number of queries in this database that have been canceled due to old snapshots","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_bufferpin","type":"bigint","description":"Number of queries in this database that have been canceled due to pinned buffers","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_deadlock","type":"bigint","description":"Number of queries in this database that have been canceled due to deadlocks","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11818,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_tablespace","type":"bigint","description":"Number of queries in this database that have been canceled due to dropped tablespaces","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_lock","type":"bigint","description":"Number of queries in this database that have been canceled due to lock timeouts","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_snapshot","type":"bigint","description":"Number of queries in this database that have been canceled due to old snapshots","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_bufferpin","type":"bigint","description":"Number of queries in this database that have been canceled due to pinned buffers","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_deadlock","type":"bigint","description":"Number of queries in this database that have been canceled due to deadlocks","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11706,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_tablespace","type":"bigint","description":"Number of queries in this database that have been canceled due to dropped tablespaces","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_lock","type":"bigint","description":"Number of queries in this database that have been canceled due to lock timeouts","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_snapshot","type":"bigint","description":"Number of queries in this database that have been canceled due to old snapshots","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_bufferpin","type":"bigint","description":"Number of queries in this database that have been canceled due to pinned buffers","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_deadlock","type":"bigint","description":"Number of queries in this database that have been canceled due to deadlocks","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11774,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Several predefined views, listed in Table 27.1, are available to show the current state of the system. There are also several other views, listed in Table 27.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nSome of the information in the dynamic statistics views shown in Table 27.1 is security restricted. Ordinary users can only see all the information about their own sessions (sessions belonging to a role that they are a member of). In rows about other sessions, many columns will be null. Note, however, that the existence of a session and its general properties such as its sessions user and database are visible to all users. Superusers and members of the built-in role pg_read_all_stats (see also Section 21.5) can see all the information about all sessions.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, plus one for the shared objects, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_tablespace","type":"bigint","description":"Number of queries in this database that have been canceled due to dropped tablespaces","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_lock","type":"bigint","description":"Number of queries in this database that have been canceled due to lock timeouts","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_snapshot","type":"bigint","description":"Number of queries in this database that have been canceled due to old snapshots","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_bufferpin","type":"bigint","description":"Number of queries in this database that have been canceled due to pinned buffers","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_deadlock","type":"bigint","description":"Number of queries in this database that have been canceled due to deadlocks","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12276,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_tablespace","type":"bigint","description":"Number of queries in this database that have been canceled due to dropped tablespaces","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_lock","type":"bigint","description":"Number of queries in this database that have been canceled due to lock timeouts","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_snapshot","type":"bigint","description":"Number of queries in this database that have been canceled due to old snapshots","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_bufferpin","type":"bigint","description":"Number of queries in this database that have been canceled due to pinned buffers","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_deadlock","type":"bigint","description":"Number of queries in this database that have been canceled due to deadlocks","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12281,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on primary servers.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_tablespace","type":"bigint","description":"Number of queries in this database that have been canceled due to dropped tablespaces","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_lock","type":"bigint","description":"Number of queries in this database that have been canceled due to lock timeouts","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_snapshot","type":"bigint","description":"Number of queries in this database that have been canceled due to old snapshots","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_bufferpin","type":"bigint","description":"Number of queries in this database that have been canceled due to pinned buffers","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_deadlock","type":"bigint","description":"Number of queries in this database that have been canceled due to deadlocks","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12480,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on primary servers.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_tablespace","type":"bigint","description":"Number of queries in this database that have been canceled due to dropped tablespaces","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_lock","type":"bigint","description":"Number of queries in this database that have been canceled due to lock timeouts","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_snapshot","type":"bigint","description":"Number of queries in this database that have been canceled due to old snapshots","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_bufferpin","type":"bigint","description":"Number of queries in this database that have been canceled due to pinned buffers","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_deadlock","type":"bigint","description":"Number of queries in this database that have been canceled due to deadlocks","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12271,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on primary servers.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_tablespace","type":"bigint","description":"Number of queries in this database that have been canceled due to dropped tablespaces","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_lock","type":"bigint","description":"Number of queries in this database that have been canceled due to lock timeouts","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_snapshot","type":"bigint","description":"Number of queries in this database that have been canceled due to old snapshots","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_bufferpin","type":"bigint","description":"Number of queries in this database that have been canceled due to pinned buffers","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_deadlock","type":"bigint","description":"Number of queries in this database that have been canceled due to deadlocks","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_active_logicalslot","type":"bigint","description":"Number of uses of logical slots in this database that have been canceled due to old snapshots or too low a wal_level on the primary","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":12271,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on primary servers.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_tablespace","type":"bigint","description":"Number of queries in this database that have been canceled due to dropped tablespaces","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_lock","type":"bigint","description":"Number of queries in this database that have been canceled due to lock timeouts","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_snapshot","type":"bigint","description":"Number of queries in this database that have been canceled due to old snapshots","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_bufferpin","type":"bigint","description":"Number of queries in this database that have been canceled due to pinned buffers","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_deadlock","type":"bigint","description":"Number of queries in this database that have been canceled due to deadlocks","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_active_logicalslot","type":"bigint","description":"Number of uses of logical slots in this database that have been canceled due to old snapshots or too low a wal_level on the primary","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":12271,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on primary servers.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_tablespace","type":"bigint","description":"Number of queries in this database that have been canceled due to dropped tablespaces","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_lock","type":"bigint","description":"Number of queries in this database that have been canceled due to lock timeouts","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_snapshot","type":"bigint","description":"Number of queries in this database that have been canceled due to old snapshots","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_bufferpin","type":"bigint","description":"Number of queries in this database that have been canceled due to pinned buffers","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_deadlock","type":"bigint","description":"Number of queries in this database that have been canceled due to deadlocks","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_active_logicalslot","type":"bigint","description":"Number of uses of logical slots in this database that have been canceled due to old snapshots or too low a wal_level on the primary","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":12275,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on primary servers.","columns":[{"name":"datid","type":"oid","description":"OID of a database","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_tablespace","type":"bigint","description":"Number of queries in this database that have been canceled due to dropped tablespaces","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_lock","type":"bigint","description":"Number of queries in this database that have been canceled due to lock timeouts","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_snapshot","type":"bigint","description":"Number of queries in this database that have been canceled due to old snapshots","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_bufferpin","type":"bigint","description":"Number of queries in this database that have been canceled due to pinned buffers","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_deadlock","type":"bigint","description":"Number of queries in this database that have been canceled due to deadlocks","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_active_logicalslot","type":"bigint","description":"Number of uses of logical slots in this database that have been canceled due to old snapshots or too low a wal_level on the primary","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12297,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"added","added_columns":[{"name":"datid","type":"oid","type_oid":26,"description":"OID of a database","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L550","type_evidence":{"expression":"D.oid","method":"catalog_oid_system_column","catalog_field":"pg_database.oid"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","type_oid":19,"description":"Name of this database","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L550","type_evidence":{"expression":"D.datname","method":"catalog_name_column","catalog_field":"pg_database.datname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-database.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_tablespace","type":"bigint","type_oid":20,"description":"Number of queries in this database that have been canceled due to dropped tablespaces","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L550","type_evidence":{"expression":"pg_stat_get_db_conflict_tablespace(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_conflict_tablespace","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2593"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_lock","type":"bigint","type_oid":20,"description":"Number of queries in this database that have been canceled due to lock timeouts","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L550","type_evidence":{"expression":"pg_stat_get_db_conflict_lock(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_conflict_lock","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2595"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_snapshot","type":"bigint","type_oid":20,"description":"Number of queries in this database that have been canceled due to old snapshots","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L550","type_evidence":{"expression":"pg_stat_get_db_conflict_snapshot(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_conflict_snapshot","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2597"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_bufferpin","type":"bigint","type_oid":20,"description":"Number of queries in this database that have been canceled due to pinned buffers","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L550","type_evidence":{"expression":"pg_stat_get_db_conflict_bufferpin(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_conflict_bufferpin","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2599"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_deadlock","type":"bigint","type_oid":20,"description":"Number of queries in this database that have been canceled due to deadlocks","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L550","type_evidence":{"expression":"pg_stat_get_db_conflict_startup_deadlock(D.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_db_conflict_startup_deadlock","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2601"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-DATABASE-CONFLICTS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.3","to":"9.4","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"15","to":"16","status":"changed","added_columns":[{"name":"confl_active_logicalslot","type":"bigint","description":"Number of uses of logical slots in this database that have been canceled due to old snapshots or too low a wal_level on the primary","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_gssapi","kind":"statistics","summary":"One row per connection (regular and replication), showing information about GSSAPI authentication and encryption used on this connection. See pg_stat_gssapi for details.","first_version":"12","last_version":"19","versions":{"12":{"description":"Several predefined views, listed in Table 27.1, are available to show the current state of the system. There are also several other views, listed in Table 27.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nSome of the information in the dynamic statistics views shown in Table 27.1 is security restricted. Ordinary users can only see all the information about their own sessions (sessions belonging to a role that they are a member of). In rows about other sessions, many columns will be null. Note, however, that the existence of a session and its general properties such as its sessions user and database are visible to all users. Superusers and members of the built-in role pg_read_all_stats (see also Section 21.5) can see all the information about all sessions.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, plus one for the shared objects, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"pid","type":"integer","description":"Process ID of a backend","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gss_authenticated","type":"boolean","description":"True if GSSAPI authentication was used for this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"principal","type":"text","description":"Principal used to authenticate this connection, or NULL if GSSAPI was not used to authenticate this connection. This field is truncated if the principal is longer than NAMEDATALEN (64 characters in a standard build).","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"encrypted","type":"boolean","description":"True if GSSAPI encryption is in use on this connection","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html#PG-STAT-GSSAPI-VIEW","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":12265,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.","columns":[{"name":"pid","type":"integer","description":"Process ID of a backend","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gss_authenticated","type":"boolean","description":"True if GSSAPI authentication was used for this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"principal","type":"text","description":"Principal used to authenticate this connection, or NULL if GSSAPI was not used to authenticate this connection. This field is truncated if the principal is longer than NAMEDATALEN (64 characters in a standard build).","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"encrypted","type":"boolean","description":"True if GSSAPI encryption is in use on this connection","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html#PG-STAT-GSSAPI-VIEW","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":12270,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.","columns":[{"name":"pid","type":"integer","description":"Process ID of a backend","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gss_authenticated","type":"boolean","description":"True if GSSAPI authentication was used for this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"principal","type":"text","description":"Principal used to authenticate this connection, or NULL if GSSAPI was not used to authenticate this connection. This field is truncated if the principal is longer than NAMEDATALEN (64 characters in a standard build).","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"encrypted","type":"boolean","description":"True if GSSAPI encryption is in use on this connection","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html#PG-STAT-GSSAPI-VIEW","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":12462,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.","columns":[{"name":"pid","type":"integer","description":"Process ID of a backend","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gss_authenticated","type":"boolean","description":"True if GSSAPI authentication was used for this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"principal","type":"text","description":"Principal used to authenticate this connection, or NULL if GSSAPI was not used to authenticate this connection. This field is truncated if the principal is longer than NAMEDATALEN (64 characters in a standard build).","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"encrypted","type":"boolean","description":"True if GSSAPI encryption is in use on this connection","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STAT-GSSAPI-VIEW","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":12253,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.","columns":[{"name":"pid","type":"integer","description":"Process ID of a backend","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gss_authenticated","type":"boolean","description":"True if GSSAPI authentication was used for this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"principal","type":"text","description":"Principal used to authenticate this connection, or NULL if GSSAPI was not used to authenticate this connection. This field is truncated if the principal is longer than NAMEDATALEN (64 characters in a standard build).","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"encrypted","type":"boolean","description":"True if GSSAPI encryption is in use on this connection","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"credentials_delegated","type":"boolean","description":"True if GSSAPI credentials were delegated on this connection.","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STAT-GSSAPI-VIEW","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":12253,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.","columns":[{"name":"pid","type":"integer","description":"Process ID of a backend","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gss_authenticated","type":"boolean","description":"True if GSSAPI authentication was used for this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"principal","type":"text","description":"Principal used to authenticate this connection, or NULL if GSSAPI was not used to authenticate this connection. This field is truncated if the principal is longer than NAMEDATALEN (64 characters in a standard build).","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"encrypted","type":"boolean","description":"True if GSSAPI encryption is in use on this connection","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"credentials_delegated","type":"boolean","description":"True if GSSAPI credentials were delegated on this connection.","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STAT-GSSAPI-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":12253,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.","columns":[{"name":"pid","type":"integer","description":"Process ID of a backend","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gss_authenticated","type":"boolean","description":"True if GSSAPI authentication was used for this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"principal","type":"text","description":"Principal used to authenticate this connection, or NULL if GSSAPI was not used to authenticate this connection. This field is truncated if the principal is longer than NAMEDATALEN (64 characters in a standard build).","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"encrypted","type":"boolean","description":"True if GSSAPI encryption is in use on this connection","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"credentials_delegated","type":"boolean","description":"True if GSSAPI credentials were delegated on this connection.","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STAT-GSSAPI-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":12257,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.","columns":[{"name":"pid","type":"integer","description":"Process ID of a backend","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gss_authenticated","type":"boolean","description":"True if GSSAPI authentication was used for this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"principal","type":"text","description":"Principal used to authenticate this connection, or NULL if GSSAPI was not used to authenticate this connection. This field is truncated if the principal is longer than NAMEDATALEN (64 characters in a standard build).","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"encrypted","type":"boolean","description":"True if GSSAPI encryption is in use on this connection","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"credentials_delegated","type":"boolean","description":"True if GSSAPI credentials were delegated on this connection.","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-GSSAPI-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":12279,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"11","to":"12","status":"added","added_columns":[{"name":"pid","type":"integer","description":"Process ID of a backend","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"gss_authenticated","type":"boolean","description":"True if GSSAPI authentication was used for this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"principal","type":"text","description":"Principal used to authenticate this connection, or NULL if GSSAPI was not used to authenticate this connection. This field is truncated if the principal is longer than NAMEDATALEN (64 characters in a standard build).","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"encrypted","type":"boolean","description":"True if GSSAPI encryption is in use on this connection","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"15","to":"16","status":"changed","added_columns":[{"name":"credentials_delegated","type":"boolean","description":"True if GSSAPI credentials were delegated on this connection.","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_io","kind":"statistics","summary":"One row for each combination of backend type, context, and target object containing cluster-wide I/O statistics. See pg_stat_io for details.","first_version":"16","last_version":"19","versions":{"16":{"description":"The pg_stat_io view will contain one row for each combination of backend type, target I/O object, and I/O context, showing cluster-wide I/O statistics. Combinations which do not make sense are omitted.\n\nCurrently, I/O on relations (e.g. tables, indexes) is tracked. However, relation I/O which bypasses shared buffers (e.g. when moving a table from one tablespace to another) is currently not tracked.\n\nSome backend types never perform I/O operations on some I/O objects and/or in some I/O contexts. These rows are omitted from the view. For example, the checkpointer does not checkpoint temporary tables, so there will be no rows for backend_type checkpointer and object temp relation.\n\nIn addition, some I/O operations will never be performed either by certain backend types or on certain I/O objects and/or in certain I/O contexts. These cells will be NULL. For example, temporary tables are not fsynced, so fsyncs will be NULL for object temp relation. Also, the background writer does not perform reads, so reads will be NULL in rows for backend_type background writer.\n\npg_stat_io can be used to inform database tuning. For example:","columns":[{"name":"backend_type","type":"text","description":"Type of backend (e.g. background worker, autovacuum worker). See pg_stat_activity for more information on backend_types. Some backend_types do not accumulate I/O operation statistics and will not be included in the view.","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"object","type":"text","description":"Target object of an I/O operation. Possible values are:","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"The context of an I/O operation. Possible values are:","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reads","type":"bigint","description":"Number of read operations, each of the size specified in op_bytes.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"read_time","type":"double precision","description":"Time spent in read operations in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"writes","type":"bigint","description":"Number of write operations, each of the size specified in op_bytes.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_time","type":"double precision","description":"Time spent in write operations in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"writebacks","type":"bigint","description":"Number of units of size op_bytes which the process requested the kernel write out to permanent storage.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"writeback_time","type":"double precision","description":"Time spent in writeback operations in milliseconds (if track_io_timing is enabled, otherwise zero). This includes the time spent queueing write-out requests and, potentially, the time spent to write out the dirty data.","hidden":false,"type_oid":701,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extends","type":"bigint","description":"Number of relation extend operations, each of the size specified in op_bytes.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extend_time","type":"double precision","description":"Time spent in extend operations in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"op_bytes","type":"bigint","description":"The number of bytes per unit of I/O read, written, or extended. Relation data reads, writes, and extends are done in block_size units, derived from the build-time parameter BLCKSZ, which is 8192 by default.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hits","type":"bigint","description":"The number of times a desired block was found in a shared buffer.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"evictions","type":"bigint","description":"Number of times a block has been written out from a shared or local buffer in order to make it available for another use. In context normal, this counts the number of times a block was evicted from a buffer and replaced with another block. In contexts bulkwrite, bulkread, and vacuum, this counts the number of times a block was evicted from shared buffers in order to add the shared buffer to a separate, size-limited ring buffer for use in a bulk I/O operation.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reuses","type":"bigint","description":"The number of times an existing buffer in a size-limited ring buffer outside of shared buffers was reused as part of an I/O operation in the bulkread, bulkwrite, or vacuum contexts.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fsyncs","type":"bigint","description":"Number of fsync calls. These are only tracked in context normal.","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fsync_time","type":"double precision","description":"Time spent in fsync operations in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset.","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STAT-IO-VIEW","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":18,"documentary_schema_source":"documentation","relation_oid":12293,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_stat_io view will contain one row for each combination of backend type, target I/O object, and I/O context, showing cluster-wide I/O statistics. Combinations which do not make sense are omitted.\n\nCurrently, I/O on relations (e.g. tables, indexes) is tracked. However, relation I/O which bypasses shared buffers (e.g. when moving a table from one tablespace to another) is currently not tracked.\n\nSome backend types never perform I/O operations on some I/O objects and/or in some I/O contexts. These rows are omitted from the view. For example, the checkpointer does not checkpoint temporary tables, so there will be no rows for backend_type checkpointer and object temp relation.\n\nIn addition, some I/O operations will never be performed either by certain backend types or on certain I/O objects and/or in certain I/O contexts. These cells will be NULL. For example, temporary tables are not fsynced, so fsyncs will be NULL for object temp relation. Also, the background writer does not perform reads, so reads will be NULL in rows for backend_type background writer.\n\npg_stat_io can be used to inform database tuning. For example:","columns":[{"name":"backend_type","type":"text","description":"Type of backend (e.g. background worker, autovacuum worker). See pg_stat_activity for more information on backend_types. Some backend_types do not accumulate I/O operation statistics and will not be included in the view.","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"object","type":"text","description":"Target object of an I/O operation. Possible values are:","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"The context of an I/O operation. Possible values are:","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reads","type":"bigint","description":"Number of read operations, each of the size specified in op_bytes.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"read_time","type":"double precision","description":"Time spent in read operations in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"writes","type":"bigint","description":"Number of write operations, each of the size specified in op_bytes.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_time","type":"double precision","description":"Time spent in write operations in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"writebacks","type":"bigint","description":"Number of units of size op_bytes which the process requested the kernel write out to permanent storage.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"writeback_time","type":"double precision","description":"Time spent in writeback operations in milliseconds (if track_io_timing is enabled, otherwise zero). This includes the time spent queueing write-out requests and, potentially, the time spent to write out the dirty data.","hidden":false,"type_oid":701,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extends","type":"bigint","description":"Number of relation extend operations, each of the size specified in op_bytes.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extend_time","type":"double precision","description":"Time spent in extend operations in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"op_bytes","type":"bigint","description":"The number of bytes per unit of I/O read, written, or extended. Relation data reads, writes, and extends are done in block_size units, derived from the build-time parameter BLCKSZ, which is 8192 by default.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hits","type":"bigint","description":"The number of times a desired block was found in a shared buffer.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"evictions","type":"bigint","description":"Number of times a block has been written out from a shared or local buffer in order to make it available for another use. In context normal, this counts the number of times a block was evicted from a buffer and replaced with another block. In contexts bulkwrite, bulkread, and vacuum, this counts the number of times a block was evicted from shared buffers in order to add the shared buffer to a separate, size-limited ring buffer for use in a bulk I/O operation.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reuses","type":"bigint","description":"The number of times an existing buffer in a size-limited ring buffer outside of shared buffers was reused as part of an I/O operation in the bulkread, bulkwrite, or vacuum contexts.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fsyncs","type":"bigint","description":"Number of fsync calls. These are only tracked in context normal.","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fsync_time","type":"double precision","description":"Time spent in fsync operations in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset.","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STAT-IO-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":18,"documentary_schema_source":"documentation","relation_oid":12297,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_stat_io view will contain one row for each combination of backend type, target I/O object, and I/O context, showing cluster-wide I/O statistics. Combinations which do not make sense are omitted.\n\nCurrently, I/O on relations (e.g. tables, indexes) and WAL activity are tracked. However, relation I/O which bypasses shared buffers (e.g. when moving a table from one tablespace to another) is currently not tracked.\n\nSome backend types never perform I/O operations on some I/O objects and/or in some I/O contexts. These rows are omitted from the view. For example, the checkpointer does not checkpoint temporary tables, so there will be no rows for backend_type checkpointer and object temp relation.\n\nIn addition, some I/O operations will never be performed either by certain backend types or on certain I/O objects and/or in certain I/O contexts. These cells will be NULL. For example, temporary tables are not fsynced, so fsyncs will be NULL for object temp relation. Also, the background writer does not perform reads, so reads will be NULL in rows for backend_type background writer.\n\nFor the object wal, fsyncs and fsync_time track the fsync activity of WAL files done in issue_xlog_fsync. writes and write_time track the write activity of WAL files done in XLogWrite. See Section 28.5 for more information.\n\npg_stat_io can be used to inform database tuning. For example:","columns":[{"name":"backend_type","type":"text","description":"Type of backend (e.g. background worker, autovacuum worker). See pg_stat_activity for more information on backend_types. Some backend_types do not accumulate I/O operation statistics and will not be included in the view.","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"object","type":"text","description":"Target object of an I/O operation. Possible values are:","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"The context of an I/O operation. Possible values are:","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reads","type":"bigint","description":"Number of read operations.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"read_bytes","type":"numeric","description":"The total size of read operations in bytes.","hidden":false,"type_oid":1700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"read_time","type":"double precision","description":"Time spent waiting for read operations in milliseconds (if track_io_timing is enabled and object is not wal, or if track_wal_io_timing is enabled and object is wal, otherwise zero)","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"writes","type":"bigint","description":"Number of write operations.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_bytes","type":"numeric","description":"The total size of write operations in bytes.","hidden":false,"type_oid":1700,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_time","type":"double precision","description":"Time spent waiting for write operations in milliseconds (if track_io_timing is enabled and object is not wal, or if track_wal_io_timing is enabled and object is wal, otherwise zero)","hidden":false,"type_oid":701,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"writebacks","type":"bigint","description":"Number of units of size BLCKSZ (typically 8kB) which the process requested the kernel write out to permanent storage.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"writeback_time","type":"double precision","description":"Time spent waiting for writeback operations in milliseconds (if track_io_timing is enabled, otherwise zero). This includes the time spent queueing write-out requests and, potentially, the time spent to write out the dirty data.","hidden":false,"type_oid":701,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extends","type":"bigint","description":"Number of relation extend operations.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extend_bytes","type":"numeric","description":"The total size of relation extend operations in bytes.","hidden":false,"type_oid":1700,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extend_time","type":"double precision","description":"Time spent waiting for extend operations in milliseconds. (if track_io_timing is enabled and object is not wal, or if track_wal_io_timing is enabled and object is wal, otherwise zero)","hidden":false,"type_oid":701,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hits","type":"bigint","description":"The number of times a desired block was found in a shared buffer.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"evictions","type":"bigint","description":"Number of times a block has been written out from a shared or local buffer in order to make it available for another use. In context normal, this counts the number of times a block was evicted from a buffer and replaced with another block. In contexts bulkwrite, bulkread, and vacuum, this counts the number of times a block was evicted from shared buffers in order to add the shared buffer to a separate, size-limited ring buffer for use in a bulk I/O operation.","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reuses","type":"bigint","description":"The number of times an existing buffer in a size-limited ring buffer outside of shared buffers was reused as part of an I/O operation in the bulkread, bulkwrite, or vacuum contexts.","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fsyncs","type":"bigint","description":"Number of fsync calls. These are only tracked in context normal.","hidden":false,"type_oid":20,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fsync_time","type":"double precision","description":"Time spent waiting for fsync operations in milliseconds (if track_io_timing is enabled and object is not wal, or if track_wal_io_timing is enabled and object is wal, otherwise zero)","hidden":false,"type_oid":701,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset.","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STAT-IO-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":20,"documentary_schema_source":"documentation","relation_oid":12301,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_stat_io view will contain one row for each combination of backend type, target I/O object, and I/O context, showing cluster-wide I/O statistics. Combinations which do not make sense are omitted.\n\nCurrently, I/O on relations (e.g. tables, indexes) and WAL activity are tracked. However, relation I/O which bypasses shared buffers (e.g. when moving a table from one tablespace to another) is currently not tracked.\n\nSome backend types never perform I/O operations on some I/O objects and/or in some I/O contexts. These rows are omitted from the view. For example, the checkpointer does not checkpoint temporary tables, so there will be no rows for backend_type checkpointer and object temp relation.\n\nIn addition, some I/O operations will never be performed either by certain backend types or on certain I/O objects and/or in certain I/O contexts. These cells will be NULL. For example, temporary tables are not fsynced, so fsyncs will be NULL for object temp relation. Also, the background writer does not perform reads, so reads will be NULL in rows for backend_type background writer.\n\nFor the object wal, fsyncs and fsync_time track the fsync activity of WAL files done in issue_xlog_fsync. writes and write_time track the write activity of WAL files done in XLogWrite. See Section 28.5 for more information.\n\npg_stat_io can be used to inform database tuning. For example:","columns":[{"name":"backend_type","type":"text","description":"Type of backend (e.g. background worker, autovacuum worker). See pg_stat_activity for more information on backend_types. Some backend_types do not accumulate I/O operation statistics and will not be included in the view.","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"object","type":"text","description":"Target object of an I/O operation. Possible values are:","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"The context of an I/O operation. Possible values are:","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reads","type":"bigint","description":"Number of read operations.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"read_bytes","type":"numeric","description":"The total size of read operations in bytes.","hidden":false,"type_oid":1700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"read_time","type":"double precision","description":"Time spent waiting for read operations in milliseconds (if track_io_timing is enabled and object is not wal, or if track_wal_io_timing is enabled and object is wal, otherwise zero). This may include time spent waiting for a read started by another backend. In that case reads may still be zero.","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"writes","type":"bigint","description":"Number of write operations.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_bytes","type":"numeric","description":"The total size of write operations in bytes.","hidden":false,"type_oid":1700,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_time","type":"double precision","description":"Time spent waiting for write operations in milliseconds (if track_io_timing is enabled and object is not wal, or if track_wal_io_timing is enabled and object is wal, otherwise zero)","hidden":false,"type_oid":701,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"writebacks","type":"bigint","description":"Number of units of size BLCKSZ (typically 8kB) which the process requested the kernel write out to permanent storage.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"writeback_time","type":"double precision","description":"Time spent waiting for writeback operations in milliseconds (if track_io_timing is enabled, otherwise zero). This includes the time spent queueing write-out requests and, potentially, the time spent to write out the dirty data.","hidden":false,"type_oid":701,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extends","type":"bigint","description":"Number of relation extend operations.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extend_bytes","type":"numeric","description":"The total size of relation extend operations in bytes.","hidden":false,"type_oid":1700,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extend_time","type":"double precision","description":"Time spent waiting for extend operations in milliseconds. (if track_io_timing is enabled and object is not wal, or if track_wal_io_timing is enabled and object is wal, otherwise zero)","hidden":false,"type_oid":701,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hits","type":"bigint","description":"The number of times a desired block was found in a shared buffer.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"evictions","type":"bigint","description":"Number of times a block has been written out from a shared or local buffer in order to make it available for another use. In context normal, this counts the number of times a block was evicted from a buffer and replaced with another block. In contexts bulkwrite, bulkread, and vacuum, this counts the number of times a block was evicted from shared buffers in order to add the shared buffer to a separate, size-limited ring buffer for use in a bulk I/O operation.","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reuses","type":"bigint","description":"The number of times an existing buffer in a size-limited ring buffer outside of shared buffers was reused as part of an I/O operation in the bulkread, bulkwrite, or vacuum contexts.","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fsyncs","type":"bigint","description":"Number of fsync calls. These are only tracked in context normal.","hidden":false,"type_oid":20,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fsync_time","type":"double precision","description":"Time spent waiting for fsync operations in milliseconds (if track_io_timing is enabled and object is not wal, or if track_wal_io_timing is enabled and object is wal, otherwise zero)","hidden":false,"type_oid":701,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset.","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-IO-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":20,"documentary_schema_source":"documentation","relation_oid":12323,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"15","to":"16","status":"added","added_columns":[{"name":"backend_type","type":"text","description":"Type of backend (e.g. background worker, autovacuum worker). See pg_stat_activity for more information on backend_types. Some backend_types do not accumulate I/O operation statistics and will not be included in the view.","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"object","type":"text","description":"Target object of an I/O operation. Possible values are:","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"context","type":"text","description":"The context of an I/O operation. Possible values are:","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reads","type":"bigint","description":"Number of read operations, each of the size specified in op_bytes.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"read_time","type":"double precision","description":"Time spent in read operations in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"writes","type":"bigint","description":"Number of write operations, each of the size specified in op_bytes.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_time","type":"double precision","description":"Time spent in write operations in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"writebacks","type":"bigint","description":"Number of units of size op_bytes which the process requested the kernel write out to permanent storage.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"writeback_time","type":"double precision","description":"Time spent in writeback operations in milliseconds (if track_io_timing is enabled, otherwise zero). This includes the time spent queueing write-out requests and, potentially, the time spent to write out the dirty data.","hidden":false,"type_oid":701,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extends","type":"bigint","description":"Number of relation extend operations, each of the size specified in op_bytes.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extend_time","type":"double precision","description":"Time spent in extend operations in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"op_bytes","type":"bigint","description":"The number of bytes per unit of I/O read, written, or extended. Relation data reads, writes, and extends are done in block_size units, derived from the build-time parameter BLCKSZ, which is 8192 by default.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hits","type":"bigint","description":"The number of times a desired block was found in a shared buffer.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"evictions","type":"bigint","description":"Number of times a block has been written out from a shared or local buffer in order to make it available for another use. In context normal, this counts the number of times a block was evicted from a buffer and replaced with another block. In contexts bulkwrite, bulkread, and vacuum, this counts the number of times a block was evicted from shared buffers in order to add the shared buffer to a separate, size-limited ring buffer for use in a bulk I/O operation.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reuses","type":"bigint","description":"The number of times an existing buffer in a size-limited ring buffer outside of shared buffers was reused as part of an I/O operation in the bulkread, bulkwrite, or vacuum contexts.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fsyncs","type":"bigint","description":"Number of fsync calls. These are only tracked in context normal.","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fsync_time","type":"double precision","description":"Time spent in fsync operations in milliseconds (if track_io_timing is enabled, otherwise zero)","hidden":false,"type_oid":701,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset.","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"17","to":"18","status":"changed","added_columns":[{"name":"read_bytes","type":"numeric","description":"The total size of read operations in bytes.","hidden":false,"type_oid":1700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_bytes","type":"numeric","description":"The total size of write operations in bytes.","hidden":false,"type_oid":1700,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"extend_bytes","type":"numeric","description":"The total size of relation extend operations in bytes.","hidden":false,"type_oid":1700,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[{"name":"op_bytes","type":"bigint","description":"The number of bytes per unit of I/O read, written, or extended. Relation data reads, writes, and extends are done in block_size units, derived from the build-time parameter BLCKSZ, which is 8192 by default.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[{"name":"extend_time","from":"Time spent in extend operations in milliseconds (if track_io_timing is enabled, otherwise zero)","to":"Time spent waiting for extend operations in milliseconds. (if track_io_timing is enabled and object is not wal, or if track_wal_io_timing is enabled and object is wal, otherwise zero)"},{"name":"extends","from":"Number of relation extend operations, each of the size specified in op_bytes.","to":"Number of relation extend operations."},{"name":"fsync_time","from":"Time spent in fsync operations in milliseconds (if track_io_timing is enabled, otherwise zero)","to":"Time spent waiting for fsync operations in milliseconds (if track_io_timing is enabled and object is not wal, or if track_wal_io_timing is enabled and object is wal, otherwise zero)"},{"name":"read_time","from":"Time spent in read operations in milliseconds (if track_io_timing is enabled, otherwise zero)","to":"Time spent waiting for read operations in milliseconds (if track_io_timing is enabled and object is not wal, or if track_wal_io_timing is enabled and object is wal, otherwise zero)"},{"name":"reads","from":"Number of read operations, each of the size specified in op_bytes.","to":"Number of read operations."},{"name":"write_time","from":"Time spent in write operations in milliseconds (if track_io_timing is enabled, otherwise zero)","to":"Time spent waiting for write operations in milliseconds (if track_io_timing is enabled and object is not wal, or if track_wal_io_timing is enabled and object is wal, otherwise zero)"},{"name":"writeback_time","from":"Time spent in writeback operations in milliseconds (if track_io_timing is enabled, otherwise zero). This includes the time spent queueing write-out requests and, potentially, the time spent to write out the dirty data.","to":"Time spent waiting for writeback operations in milliseconds (if track_io_timing is enabled, otherwise zero). This includes the time spent queueing write-out requests and, potentially, the time spent to write out the dirty data."},{"name":"writebacks","from":"Number of units of size op_bytes which the process requested the kernel write out to permanent storage.","to":"Number of units of size BLCKSZ (typically 8kB) which the process requested the kernel write out to permanent storage."},{"name":"writes","from":"Number of write operations, each of the size specified in op_bytes.","to":"Number of write operations."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"read_time","from":"Time spent waiting for read operations in milliseconds (if track_io_timing is enabled and object is not wal, or if track_wal_io_timing is enabled and object is wal, otherwise zero)","to":"Time spent waiting for read operations in milliseconds (if track_io_timing is enabled and object is not wal, or if track_wal_io_timing is enabled and object is wal, otherwise zero). This may include time spent waiting for a read started by another backend. In that case reads may still be zero."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_stat_lock","kind":"statistics","summary":"One row for each lock type, containing cluster-wide locks statistics. See pg_stat_lock for details.","first_version":"19","last_version":"19","versions":{"19":{"description":"The pg_stat_lock view will contain one row for each lock type, showing cluster-wide locks statistics.","columns":[{"name":"locktype","type":"text","description":"Type of the lockable object. See pg_locks for details.","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"waits","type":"bigint","description":"Number of times a lock of this type had to wait because of a conflicting lock. Only incremented when the lock was successfully acquired after waiting longer than deadlock_timeout.","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_time","type":"double precision","description":"Total time spent waiting for locks of this type, in milliseconds. Only incremented when the lock was successfully acquired after waiting longer than deadlock_timeout.","hidden":false,"type_oid":701,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fastpath_exceeded","type":"bigint","description":"Number of times a lock of this type could not be acquired via fast path because the fast path slot limit was exceeded. Increasing max_locks_per_transaction can reduce this number.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset.","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-LOCK-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":12254,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"18","to":"19","status":"added","added_columns":[{"name":"locktype","type":"text","description":"Type of the lockable object. See pg_locks for details.","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"waits","type":"bigint","description":"Number of times a lock of this type had to wait because of a conflicting lock. Only incremented when the lock was successfully acquired after waiting longer than deadlock_timeout.","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wait_time","type":"double precision","description":"Total time spent waiting for locks of this type, in milliseconds. Only incremented when the lock was successfully acquired after waiting longer than deadlock_timeout.","hidden":false,"type_oid":701,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"fastpath_exceeded","type":"bigint","description":"Number of times a lock of this type could not be acquired via fast path because the fast path slot limit was exceeded. Increasing max_locks_per_transaction can reduce this number.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset.","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_progress_analyze","kind":"progress","summary":"One row for each backend (including autovacuum worker processes) running ANALYZE, showing current progress. See Section 27.4.1.","first_version":"13","last_version":"19","versions":{"13":{"description":"Whenever ANALYZE is running, the pg_stat_progress_analyze view will contain a row for each backend that is currently running that command. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being analyzed.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 27.33.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sample_blks_total","type":"bigint","description":"Total number of heap blocks that will be sampled.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sample_blks_scanned","type":"bigint","description":"Number of heap blocks scanned.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ext_stats_total","type":"bigint","description":"Number of extended statistics.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ext_stats_computed","type":"bigint","description":"Number of extended statistics computed. This counter only advances when the phase is computing extended statistics.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"child_tables_total","type":"bigint","description":"Number of child tables.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"child_tables_done","type":"bigint","description":"Number of child tables scanned. This counter only advances when the phase is acquiring inherited sample rows.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_child_table_relid","type":"oid","description":"OID of the child table currently being scanned. This field is only valid when the phase is acquiring inherited sample rows.","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/progress-reporting.html#PG-STAT-PROGRESS-ANALYZE-VIEW","source_path":"sources/postgresql/13/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":12298,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"Whenever ANALYZE is running, the pg_stat_progress_analyze view will contain a row for each backend that is currently running that command. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being analyzed.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 28.35.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sample_blks_total","type":"bigint","description":"Total number of heap blocks that will be sampled.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sample_blks_scanned","type":"bigint","description":"Number of heap blocks scanned.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ext_stats_total","type":"bigint","description":"Number of extended statistics.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ext_stats_computed","type":"bigint","description":"Number of extended statistics computed. This counter only advances when the phase is computing extended statistics.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"child_tables_total","type":"bigint","description":"Number of child tables.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"child_tables_done","type":"bigint","description":"Number of child tables scanned. This counter only advances when the phase is acquiring inherited sample rows.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_child_table_relid","type":"oid","description":"OID of the child table currently being scanned. This field is only valid when the phase is acquiring inherited sample rows.","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/progress-reporting.html#PG-STAT-PROGRESS-ANALYZE-VIEW","source_path":"sources/postgresql/14/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":12506,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"Whenever ANALYZE is running, the pg_stat_progress_analyze view will contain a row for each backend that is currently running that command. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being analyzed.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 28.37.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sample_blks_total","type":"bigint","description":"Total number of heap blocks that will be sampled.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sample_blks_scanned","type":"bigint","description":"Number of heap blocks scanned.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ext_stats_total","type":"bigint","description":"Number of extended statistics.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ext_stats_computed","type":"bigint","description":"Number of extended statistics computed. This counter only advances when the phase is computing extended statistics.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"child_tables_total","type":"bigint","description":"Number of child tables.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"child_tables_done","type":"bigint","description":"Number of child tables scanned. This counter only advances when the phase is acquiring inherited sample rows.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_child_table_relid","type":"oid","description":"OID of the child table currently being scanned. This field is only valid when the phase is acquiring inherited sample rows.","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/progress-reporting.html#PG-STAT-PROGRESS-ANALYZE-VIEW","source_path":"sources/postgresql/15/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":12297,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"Whenever ANALYZE is running, the pg_stat_progress_analyze view will contain a row for each backend that is currently running that command. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being analyzed.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 28.38.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sample_blks_total","type":"bigint","description":"Total number of heap blocks that will be sampled.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sample_blks_scanned","type":"bigint","description":"Number of heap blocks scanned.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ext_stats_total","type":"bigint","description":"Number of extended statistics.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ext_stats_computed","type":"bigint","description":"Number of extended statistics computed. This counter only advances when the phase is computing extended statistics.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"child_tables_total","type":"bigint","description":"Number of child tables.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"child_tables_done","type":"bigint","description":"Number of child tables scanned. This counter only advances when the phase is acquiring inherited sample rows.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_child_table_relid","type":"oid","description":"OID of the child table currently being scanned. This field is only valid when the phase is acquiring inherited sample rows.","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/progress-reporting.html#PG-STAT-PROGRESS-ANALYZE-VIEW","source_path":"sources/postgresql/16/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":12301,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"Whenever ANALYZE is running, the pg_stat_progress_analyze view will contain a row for each backend that is currently running that command. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being analyzed.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 27.39.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sample_blks_total","type":"bigint","description":"Total number of heap blocks that will be sampled.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sample_blks_scanned","type":"bigint","description":"Number of heap blocks scanned.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ext_stats_total","type":"bigint","description":"Number of extended statistics.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ext_stats_computed","type":"bigint","description":"Number of extended statistics computed. This counter only advances when the phase is computing extended statistics.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"child_tables_total","type":"bigint","description":"Number of child tables.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"child_tables_done","type":"bigint","description":"Number of child tables scanned. This counter only advances when the phase is acquiring inherited sample rows.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_child_table_relid","type":"oid","description":"OID of the child table currently being scanned. This field is only valid when the phase is acquiring inherited sample rows.","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/progress-reporting.html#PG-STAT-PROGRESS-ANALYZE-VIEW","source_path":"sources/postgresql/17/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":12305,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"Whenever ANALYZE is running, the pg_stat_progress_analyze view will contain a row for each backend that is currently running that command. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being analyzed.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 27.39.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sample_blks_total","type":"bigint","description":"Total number of heap blocks that will be sampled.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sample_blks_scanned","type":"bigint","description":"Number of heap blocks scanned.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ext_stats_total","type":"bigint","description":"Number of extended statistics.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ext_stats_computed","type":"bigint","description":"Number of extended statistics computed. This counter only advances when the phase is computing extended statistics.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"child_tables_total","type":"bigint","description":"Number of child tables.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"child_tables_done","type":"bigint","description":"Number of child tables scanned. This counter only advances when the phase is acquiring inherited sample rows.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_child_table_relid","type":"oid","description":"OID of the child table currently being scanned. This field is only valid when the phase is acquiring inherited sample rows.","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"delay_time","type":"double precision","description":"Total time spent sleeping due to cost-based delay (see Section 19.10.2), in milliseconds (if track_cost_delay_timing is enabled, otherwise zero).","hidden":false,"type_oid":701,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/progress-reporting.html#PG-STAT-PROGRESS-ANALYZE-VIEW","source_path":"sources/postgresql/18/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":13,"documentary_schema_source":"documentation","relation_oid":12309,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"Whenever ANALYZE is running, the pg_stat_progress_analyze view will contain a row for each backend that is currently running that command. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being analyzed.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 27.42.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sample_blks_total","type":"bigint","description":"Total number of heap blocks that will be sampled.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sample_blks_scanned","type":"bigint","description":"Number of heap blocks scanned.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ext_stats_total","type":"bigint","description":"Number of extended statistics.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ext_stats_computed","type":"bigint","description":"Number of extended statistics computed. This counter only advances when the phase is computing extended statistics.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"child_tables_total","type":"bigint","description":"Number of child tables.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"child_tables_done","type":"bigint","description":"Number of child tables scanned. This counter only advances when the phase is acquiring inherited sample rows.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_child_table_relid","type":"oid","description":"OID of the child table currently being scanned. This field is only valid when the phase is acquiring inherited sample rows.","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"delay_time","type":"double precision","description":"Total time spent sleeping due to cost-based delay (see Section 19.10.2), in milliseconds (if track_cost_delay_timing is enabled, otherwise zero).","hidden":false,"type_oid":701,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"started_by","type":"text","description":"Shows what caused the current ANALYZE operation to be started. Possible values are:","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/progress-reporting.html#PG-STAT-PROGRESS-ANALYZE-VIEW","source_path":"sources/postgresql/19/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":14,"documentary_schema_source":"documentation","relation_oid":12331,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"12","to":"13","status":"added","added_columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being analyzed.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 27.33.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sample_blks_total","type":"bigint","description":"Total number of heap blocks that will be sampled.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sample_blks_scanned","type":"bigint","description":"Number of heap blocks scanned.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ext_stats_total","type":"bigint","description":"Number of extended statistics.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ext_stats_computed","type":"bigint","description":"Number of extended statistics computed. This counter only advances when the phase is computing extended statistics.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"child_tables_total","type":"bigint","description":"Number of child tables.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"child_tables_done","type":"bigint","description":"Number of child tables scanned. This counter only advances when the phase is acquiring inherited sample rows.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_child_table_relid","type":"oid","description":"OID of the child table currently being scanned. This field is only valid when the phase is acquiring inherited sample rows.","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase. See Table 27.33.","to":"Current processing phase. See Table 28.35."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase. See Table 28.35.","to":"Current processing phase. See Table 28.37."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"15","to":"16","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase. See Table 28.37.","to":"Current processing phase. See Table 28.38."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase. See Table 28.38.","to":"Current processing phase. See Table 27.39."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"17","to":"18","status":"changed","added_columns":[{"name":"delay_time","type":"double precision","description":"Total time spent sleeping due to cost-based delay (see Section 19.10.2), in milliseconds (if track_cost_delay_timing is enabled, otherwise zero).","hidden":false,"type_oid":701,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"started_by","type":"text","description":"Shows what caused the current ANALYZE operation to be started. Possible values are:","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase. See Table 27.39.","to":"Current processing phase. See Table 27.42."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_progress_basebackup","kind":"progress","summary":"One row for each WAL sender process streaming a base backup, showing current progress. See Section 27.4.7.","first_version":"13","last_version":"19","versions":{"13":{"description":"Whenever an application like pg_basebackup is taking a base backup, the pg_stat_progress_basebackup view will contain a row for each WAL sender process that is currently running the BASE_BACKUP replication command and streaming the backup. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 27.41.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backup_total","type":"bigint","description":"Total amount of data that will be streamed. This is estimated and reported as of the beginning of streaming database files phase. Note that this is only an approximation since the database may change during streaming database files phase and WAL log may be included in the backup later. This is always the same value as backup_streamed once the amount of data streamed exceeds the estimated total size. If the estimation is disabled in pg_basebackup (i.e., --no-estimate-size option is specified), this is NULL.","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backup_streamed","type":"bigint","description":"Amount of data streamed. This counter only advances when the phase is streaming database files or transferring wal files.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespaces_total","type":"bigint","description":"Total number of tablespaces that will be streamed.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespaces_streamed","type":"bigint","description":"Number of tablespaces streamed. This counter only advances when the phase is streaming database files.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/progress-reporting.html#PG-STAT-PROGRESS-BASEBACKUP-VIEW","source_path":"sources/postgresql/13/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":12314,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"Whenever an application like pg_basebackup is taking a base backup, the pg_stat_progress_basebackup view will contain a row for each WAL sender process that is currently running the BASE_BACKUP replication command and streaming the backup. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 28.43.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backup_total","type":"bigint","description":"Total amount of data that will be streamed. This is estimated and reported as of the beginning of streaming database files phase. Note that this is only an approximation since the database may change during streaming database files phase and WAL log may be included in the backup later. This is always the same value as backup_streamed once the amount of data streamed exceeds the estimated total size. If the estimation is disabled in pg_basebackup (i.e., --no-estimate-size option is specified), this is NULL.","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backup_streamed","type":"bigint","description":"Amount of data streamed. This counter only advances when the phase is streaming database files or transferring wal files.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespaces_total","type":"bigint","description":"Total number of tablespaces that will be streamed.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespaces_streamed","type":"bigint","description":"Number of tablespaces streamed. This counter only advances when the phase is streaming database files.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/progress-reporting.html#PG-STAT-PROGRESS-BASEBACKUP-VIEW","source_path":"sources/postgresql/14/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":12526,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"Whenever an application like pg_basebackup is taking a base backup, the pg_stat_progress_basebackup view will contain a row for each WAL sender process that is currently running the BASE_BACKUP replication command and streaming the backup. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 28.45.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backup_total","type":"bigint","description":"Total amount of data that will be streamed. This is estimated and reported as of the beginning of streaming database files phase. Note that this is only an approximation since the database may change during streaming database files phase and WAL log may be included in the backup later. This is always the same value as backup_streamed once the amount of data streamed exceeds the estimated total size. If the estimation is disabled in pg_basebackup (i.e., --no-estimate-size option is specified), this is NULL.","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backup_streamed","type":"bigint","description":"Amount of data streamed. This counter only advances when the phase is streaming database files or transferring wal files.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespaces_total","type":"bigint","description":"Total number of tablespaces that will be streamed.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespaces_streamed","type":"bigint","description":"Number of tablespaces streamed. This counter only advances when the phase is streaming database files.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/progress-reporting.html#PG-STAT-PROGRESS-BASEBACKUP-VIEW","source_path":"sources/postgresql/15/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":12317,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"Whenever an application like pg_basebackup is taking a base backup, the pg_stat_progress_basebackup view will contain a row for each WAL sender process that is currently running the BASE_BACKUP replication command and streaming the backup. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 28.47.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backup_total","type":"bigint","description":"Total amount of data that will be streamed. This is estimated and reported as of the beginning of streaming database files phase. Note that this is only an approximation since the database may change during streaming database files phase and WAL log may be included in the backup later. This is always the same value as backup_streamed once the amount of data streamed exceeds the estimated total size. If the estimation is disabled in pg_basebackup (i.e., --no-estimate-size option is specified), this is NULL.","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backup_streamed","type":"bigint","description":"Amount of data streamed. This counter only advances when the phase is streaming database files or transferring wal files.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespaces_total","type":"bigint","description":"Total number of tablespaces that will be streamed.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespaces_streamed","type":"bigint","description":"Number of tablespaces streamed. This counter only advances when the phase is streaming database files.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/progress-reporting.html#PG-STAT-PROGRESS-BASEBACKUP-VIEW","source_path":"sources/postgresql/16/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":12321,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"Whenever an application like pg_basebackup is taking a base backup, the pg_stat_progress_basebackup view will contain a row for each WAL sender process that is currently running the BASE_BACKUP replication command and streaming the backup. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 27.48.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backup_total","type":"bigint","description":"Total amount of data that will be streamed. This is estimated and reported as of the beginning of streaming database files phase. Note that this is only an approximation since the database may change during streaming database files phase and WAL log may be included in the backup later. This is always the same value as backup_streamed once the amount of data streamed exceeds the estimated total size. If the estimation is disabled in pg_basebackup (i.e., --no-estimate-size option is specified), this is NULL.","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backup_streamed","type":"bigint","description":"Amount of data streamed. This counter only advances when the phase is streaming database files or transferring wal files.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespaces_total","type":"bigint","description":"Total number of tablespaces that will be streamed.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespaces_streamed","type":"bigint","description":"Number of tablespaces streamed. This counter only advances when the phase is streaming database files.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/progress-reporting.html#PG-STAT-PROGRESS-BASEBACKUP-VIEW","source_path":"sources/postgresql/17/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":12325,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"Whenever an application like pg_basebackup is taking a base backup, the pg_stat_progress_basebackup view will contain a row for each WAL sender process that is currently running the BASE_BACKUP replication command and streaming the backup. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 27.48.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backup_total","type":"bigint","description":"Total amount of data that will be streamed. This is estimated and reported as of the beginning of streaming database files phase. Note that this is only an approximation since the database may change during streaming database files phase and WAL log may be included in the backup later. This is always the same value as backup_streamed once the amount of data streamed exceeds the estimated total size. If the estimation is disabled in pg_basebackup (i.e., --no-estimate-size option is specified), this is NULL.","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backup_streamed","type":"bigint","description":"Amount of data streamed. This counter only advances when the phase is streaming database files or transferring wal files.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespaces_total","type":"bigint","description":"Total number of tablespaces that will be streamed.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespaces_streamed","type":"bigint","description":"Number of tablespaces streamed. This counter only advances when the phase is streaming database files.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/progress-reporting.html#PG-STAT-PROGRESS-BASEBACKUP-VIEW","source_path":"sources/postgresql/18/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":12329,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"Whenever an application like pg_basebackup is taking a base backup, the pg_stat_progress_basebackup view will contain a row for each WAL sender process that is currently running the BASE_BACKUP replication command and streaming the backup. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 27.53.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backup_total","type":"bigint","description":"Total amount of data that will be streamed. This is estimated and reported as of the beginning of streaming database files phase. Note that this is only an approximation since the database may change during streaming database files phase and WAL log may be included in the backup later. This is always the same value as backup_streamed once the amount of data streamed exceeds the estimated total size. If the estimation is disabled in pg_basebackup (i.e., --no-estimate-size option is specified), this is NULL.","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backup_streamed","type":"bigint","description":"Amount of data streamed. This counter only advances when the phase is streaming database files or transferring wal files.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespaces_total","type":"bigint","description":"Total number of tablespaces that will be streamed.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespaces_streamed","type":"bigint","description":"Number of tablespaces streamed. This counter only advances when the phase is streaming database files.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backup_type","type":"text","description":"Backup type. Either full or incremental.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/progress-reporting.html#PG-STAT-PROGRESS-BASEBACKUP-VIEW","source_path":"sources/postgresql/19/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12356,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"12","to":"13","status":"added","added_columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 27.41.","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backup_total","type":"bigint","description":"Total amount of data that will be streamed. This is estimated and reported as of the beginning of streaming database files phase. Note that this is only an approximation since the database may change during streaming database files phase and WAL log may be included in the backup later. This is always the same value as backup_streamed once the amount of data streamed exceeds the estimated total size. If the estimation is disabled in pg_basebackup (i.e., --no-estimate-size option is specified), this is NULL.","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backup_streamed","type":"bigint","description":"Amount of data streamed. This counter only advances when the phase is streaming database files or transferring wal files.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespaces_total","type":"bigint","description":"Total number of tablespaces that will be streamed.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespaces_streamed","type":"bigint","description":"Number of tablespaces streamed. This counter only advances when the phase is streaming database files.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase. See Table 27.41.","to":"Current processing phase. See Table 28.43."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase. See Table 28.43.","to":"Current processing phase. See Table 28.45."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"15","to":"16","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase. See Table 28.45.","to":"Current processing phase. See Table 28.47."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase. See Table 28.47.","to":"Current processing phase. See Table 27.48."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"backup_type","type":"text","description":"Backup type. Either full or incremental.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase. See Table 27.48.","to":"Current processing phase. See Table 27.53."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_progress_cluster","kind":"progress","summary":"One row for each backend running REPACK, CLUSTER or VACUUM FULL, showing current progress. See Section 27.4.2.","first_version":"12","last_version":"19","versions":{"12":{"description":"Whenever CLUSTER or VACUUM FULL is running, the pg_stat_progress_cluster view will contain a row for each backend that is currently running either command. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being clustered.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running. Either CLUSTER or VACUUM FULL.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 27.27.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cluster_index_relid","type":"oid","description":"If the table is being scanned using an index, this is the OID of the index being used; otherwise, it is zero.","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_scanned","type":"bigint","description":"Number of heap tuples scanned. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_written","type":"bigint","description":"Number of heap tuples written. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of seq scanning heap.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. This counter only advances when the phase is seq scanning heap.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_rebuild_count","type":"bigint","description":"Number of indexes rebuilt. This counter only advances when the phase is rebuilding index.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/progress-reporting.html#PG-STAT-PROGRESS-CLUSTER-VIEW","source_path":"sources/postgresql/12/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":12297,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"Whenever CLUSTER or VACUUM FULL is running, the pg_stat_progress_cluster view will contain a row for each backend that is currently running either command. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being clustered.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running. Either CLUSTER or VACUUM FULL.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 27.39.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cluster_index_relid","type":"oid","description":"If the table is being scanned using an index, this is the OID of the index being used; otherwise, it is zero.","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_scanned","type":"bigint","description":"Number of heap tuples scanned. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_written","type":"bigint","description":"Number of heap tuples written. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of seq scanning heap.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. This counter only advances when the phase is seq scanning heap.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_rebuild_count","type":"bigint","description":"Number of indexes rebuilt. This counter only advances when the phase is rebuilding index.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/progress-reporting.html#PG-STAT-PROGRESS-CLUSTER-VIEW","source_path":"sources/postgresql/13/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":12306,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"Whenever CLUSTER or VACUUM FULL is running, the pg_stat_progress_cluster view will contain a row for each backend that is currently running either command. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being clustered.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running. Either CLUSTER or VACUUM FULL.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 28.41.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cluster_index_relid","type":"oid","description":"If the table is being scanned using an index, this is the OID of the index being used; otherwise, it is zero.","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_scanned","type":"bigint","description":"Number of heap tuples scanned. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_written","type":"bigint","description":"Number of heap tuples written. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of seq scanning heap.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. This counter only advances when the phase is seq scanning heap.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_rebuild_count","type":"bigint","description":"Number of indexes rebuilt. This counter only advances when the phase is rebuilding index.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/progress-reporting.html#PG-STAT-PROGRESS-CLUSTER-VIEW","source_path":"sources/postgresql/14/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":12516,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"Whenever CLUSTER or VACUUM FULL is running, the pg_stat_progress_cluster view will contain a row for each backend that is currently running either command. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being clustered.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running. Either CLUSTER or VACUUM FULL.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 28.43.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cluster_index_relid","type":"oid","description":"If the table is being scanned using an index, this is the OID of the index being used; otherwise, it is zero.","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_scanned","type":"bigint","description":"Number of heap tuples scanned. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_written","type":"bigint","description":"Number of heap tuples written. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of seq scanning heap.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. This counter only advances when the phase is seq scanning heap.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_rebuild_count","type":"bigint","description":"Number of indexes rebuilt. This counter only advances when the phase is rebuilding index.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/progress-reporting.html#PG-STAT-PROGRESS-CLUSTER-VIEW","source_path":"sources/postgresql/15/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":12307,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"Whenever CLUSTER or VACUUM FULL is running, the pg_stat_progress_cluster view will contain a row for each backend that is currently running either command. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being clustered.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running. Either CLUSTER or VACUUM FULL.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 28.40.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cluster_index_relid","type":"oid","description":"If the table is being scanned using an index, this is the OID of the index being used; otherwise, it is zero.","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_scanned","type":"bigint","description":"Number of heap tuples scanned. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_written","type":"bigint","description":"Number of heap tuples written. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of seq scanning heap.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. This counter only advances when the phase is seq scanning heap.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_rebuild_count","type":"bigint","description":"Number of indexes rebuilt. This counter only advances when the phase is rebuilding index.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/progress-reporting.html#PG-STAT-PROGRESS-CLUSTER-VIEW","source_path":"sources/postgresql/16/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":12311,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"Whenever CLUSTER or VACUUM FULL is running, the pg_stat_progress_cluster view will contain a row for each backend that is currently running either command. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being clustered.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running. Either CLUSTER or VACUUM FULL.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 27.41.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cluster_index_relid","type":"oid","description":"If the table is being scanned using an index, this is the OID of the index being used; otherwise, it is zero.","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_scanned","type":"bigint","description":"Number of heap tuples scanned. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_written","type":"bigint","description":"Number of heap tuples written. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of seq scanning heap.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. This counter only advances when the phase is seq scanning heap.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_rebuild_count","type":"bigint","description":"Number of indexes rebuilt. This counter only advances when the phase is rebuilding index.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/progress-reporting.html#PG-STAT-PROGRESS-CLUSTER-VIEW","source_path":"sources/postgresql/17/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":12315,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"Whenever CLUSTER or VACUUM FULL is running, the pg_stat_progress_cluster view will contain a row for each backend that is currently running either command. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being clustered.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running. Either CLUSTER or VACUUM FULL.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 27.41.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cluster_index_relid","type":"oid","description":"If the table is being scanned using an index, this is the OID of the index being used; otherwise, it is zero.","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_scanned","type":"bigint","description":"Number of heap tuples scanned. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_written","type":"bigint","description":"Number of heap tuples written. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of seq scanning heap.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. This counter only advances when the phase is seq scanning heap.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_rebuild_count","type":"bigint","description":"Number of indexes rebuilt. This counter only advances when the phase is rebuilding index.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/progress-reporting.html#PG-STAT-PROGRESS-CLUSTER-VIEW","source_path":"sources/postgresql/18/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":12319,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"Whenever REPACK, CLUSTER or VACUUM FULL is running, the backwards-compatibility pg_stat_progress_cluster view will contain a row for each backend that is currently running either command. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being clustered.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running. Either CLUSTER or VACUUM FULL. Because this view exists for backwards-compatibility purposes only, it will translate any REPACK command into one of these other two.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 27.44.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cluster_index_relid","type":"oid","description":"If the table is being scanned using an index, this is the OID of the index being used; otherwise, it is zero.","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_scanned","type":"bigint","description":"Number of heap tuples scanned. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_written","type":"bigint","description":"Number of heap tuples written. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of seq scanning heap.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. This counter only advances when the phase is seq scanning heap.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_rebuild_count","type":"bigint","description":"Number of indexes rebuilt. This counter only advances when the phase is rebuilding index.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/progress-reporting.html#PG-STAT-PROGRESS-CLUSTER-VIEW","source_path":"sources/postgresql/19/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":12346,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"11","to":"12","status":"added","added_columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being clustered.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running. Either CLUSTER or VACUUM FULL.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 27.27.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cluster_index_relid","type":"oid","description":"If the table is being scanned using an index, this is the OID of the index being used; otherwise, it is zero.","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_scanned","type":"bigint","description":"Number of heap tuples scanned. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_written","type":"bigint","description":"Number of heap tuples written. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of seq scanning heap.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. This counter only advances when the phase is seq scanning heap.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_rebuild_count","type":"bigint","description":"Number of indexes rebuilt. This counter only advances when the phase is rebuilding index.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase. See Table 27.27.","to":"Current processing phase. See Table 27.39."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase. See Table 27.39.","to":"Current processing phase. See Table 28.41."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase. See Table 28.41.","to":"Current processing phase. See Table 28.43."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"15","to":"16","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase. See Table 28.43.","to":"Current processing phase. See Table 28.40."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase. See Table 28.40.","to":"Current processing phase. See Table 27.41."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"command","from":"The command that is running. Either CLUSTER or VACUUM FULL.","to":"The command that is running. Either CLUSTER or VACUUM FULL. Because this view exists for backwards-compatibility purposes only, it will translate any REPACK command into one of these other two."},{"name":"phase","from":"Current processing phase. See Table 27.41.","to":"Current processing phase. See Table 27.44."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_stat_progress_copy","kind":"progress","summary":"One row for each backend running COPY, showing current progress. See Section 27.4.3.","first_version":"14","last_version":"19","versions":{"14":{"description":"Whenever COPY is running, the pg_stat_progress_copy view will contain one row for each backend that is currently running a COPY command. The table below describes the information that will be reported and provides information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table on which the COPY command is executed. It is set to 0 if copying from a SELECT query.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running: COPY FROM, or COPY TO.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"The io type that the data is read from or written to: FILE, PROGRAM, PIPE (for COPY FROM STDIN and COPY TO STDOUT), or CALLBACK (used for example during the initial table synchronization in logical replication).","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bytes_processed","type":"bigint","description":"Number of bytes already processed by COPY command.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bytes_total","type":"bigint","description":"Size of source file for COPY FROM command in bytes. It is set to 0 if not available.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_processed","type":"bigint","description":"Number of tuples already processed by COPY command.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_excluded","type":"bigint","description":"Number of tuples not processed because they were excluded by the WHERE clause of the COPY command.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/progress-reporting.html#PG-STAT-PROGRESS-COPY-VIEW","source_path":"sources/postgresql/14/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":10,"documentary_schema_source":"documentation","relation_oid":12531,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"Whenever COPY is running, the pg_stat_progress_copy view will contain one row for each backend that is currently running a COPY command. The table below describes the information that will be reported and provides information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table on which the COPY command is executed. It is set to 0 if copying from a SELECT query.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running: COPY FROM, or COPY TO.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"The io type that the data is read from or written to: FILE, PROGRAM, PIPE (for COPY FROM STDIN and COPY TO STDOUT), or CALLBACK (used for example during the initial table synchronization in logical replication).","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bytes_processed","type":"bigint","description":"Number of bytes already processed by COPY command.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bytes_total","type":"bigint","description":"Size of source file for COPY FROM command in bytes. It is set to 0 if not available.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_processed","type":"bigint","description":"Number of tuples already processed by COPY command.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_excluded","type":"bigint","description":"Number of tuples not processed because they were excluded by the WHERE clause of the COPY command.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/progress-reporting.html#PG-STAT-PROGRESS-COPY-VIEW","source_path":"sources/postgresql/15/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":10,"documentary_schema_source":"documentation","relation_oid":12322,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"Whenever COPY is running, the pg_stat_progress_copy view will contain one row for each backend that is currently running a COPY command. The table below describes the information that will be reported and provides information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table on which the COPY command is executed. It is set to 0 if copying from a SELECT query.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running: COPY FROM, or COPY TO.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"The io type that the data is read from or written to: FILE, PROGRAM, PIPE (for COPY FROM STDIN and COPY TO STDOUT), or CALLBACK (used for example during the initial table synchronization in logical replication).","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bytes_processed","type":"bigint","description":"Number of bytes already processed by COPY command.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bytes_total","type":"bigint","description":"Size of source file for COPY FROM command in bytes. It is set to 0 if not available.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_processed","type":"bigint","description":"Number of tuples already processed by COPY command.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_excluded","type":"bigint","description":"Number of tuples not processed because they were excluded by the WHERE clause of the COPY command.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/progress-reporting.html#PG-STAT-PROGRESS-COPY-VIEW","source_path":"sources/postgresql/16/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":10,"documentary_schema_source":"documentation","relation_oid":12326,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"Whenever COPY is running, the pg_stat_progress_copy view will contain one row for each backend that is currently running a COPY command. The table below describes the information that will be reported and provides information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table on which the COPY command is executed. It is set to 0 if copying from a SELECT query.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running: COPY FROM, or COPY TO.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"The I/O type that the data is read from or written to: FILE, PROGRAM, PIPE (for COPY FROM STDIN and COPY TO STDOUT), or CALLBACK (used for example during the initial table synchronization in logical replication).","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bytes_processed","type":"bigint","description":"Number of bytes already processed by COPY command.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bytes_total","type":"bigint","description":"Size of source file for COPY FROM command in bytes. It is set to 0 if not available.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_processed","type":"bigint","description":"Number of tuples already processed by COPY command.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_excluded","type":"bigint","description":"Number of tuples not processed because they were excluded by the WHERE clause of the COPY command.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_skipped","type":"bigint","description":"Number of tuples skipped because they contain malformed data. This counter only advances when a value other than stop is specified to the ON_ERROR option.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/progress-reporting.html#PG-STAT-PROGRESS-COPY-VIEW","source_path":"sources/postgresql/17/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12329,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"Whenever COPY is running, the pg_stat_progress_copy view will contain one row for each backend that is currently running a COPY command. The table below describes the information that will be reported and provides information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table on which the COPY command is executed. It is set to 0 if copying from a SELECT query.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running: COPY FROM, or COPY TO.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"The I/O type that the data is read from or written to: FILE, PROGRAM, PIPE (for COPY FROM STDIN and COPY TO STDOUT), or CALLBACK (used for example during the initial table synchronization in logical replication).","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bytes_processed","type":"bigint","description":"Number of bytes already processed by COPY command.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bytes_total","type":"bigint","description":"Size of source file for COPY FROM command in bytes. It is set to 0 if not available.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_processed","type":"bigint","description":"Number of tuples already processed by COPY command.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_excluded","type":"bigint","description":"Number of tuples not processed because they were excluded by the WHERE clause of the COPY command.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_skipped","type":"bigint","description":"Number of tuples skipped because they contain malformed data. This counter only advances when a value other than stop is specified to the ON_ERROR option.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/progress-reporting.html#PG-STAT-PROGRESS-COPY-VIEW","source_path":"sources/postgresql/18/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12333,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"Whenever COPY is running, the pg_stat_progress_copy view will contain one row for each backend that is currently running a COPY command. The table below describes the information that will be reported and provides information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table on which the COPY command is executed. It is set to 0 if copying from a SELECT query.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running: COPY FROM, or COPY TO.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"The I/O type that the data is read from or written to: FILE, PROGRAM, PIPE (for COPY FROM STDIN and COPY TO STDOUT), or CALLBACK (used for example during the initial table synchronization in logical replication).","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bytes_processed","type":"bigint","description":"Number of bytes already processed by COPY command.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bytes_total","type":"bigint","description":"Size of source file for COPY FROM command in bytes. It is set to 0 if not available.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_processed","type":"bigint","description":"Number of tuples already processed by COPY command.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_excluded","type":"bigint","description":"Number of tuples not processed because they were excluded by the WHERE clause of the COPY command.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_skipped","type":"bigint","description":"Number of tuples skipped because they contain malformed data. This counter only advances when ignore is specified to the ON_ERROR option.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/progress-reporting.html#PG-STAT-PROGRESS-COPY-VIEW","source_path":"sources/postgresql/19/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12360,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"13","to":"14","status":"added","added_columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table on which the COPY command is executed. It is set to 0 if copying from a SELECT query.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running: COPY FROM, or COPY TO.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"type","type":"text","description":"The io type that the data is read from or written to: FILE, PROGRAM, PIPE (for COPY FROM STDIN and COPY TO STDOUT), or CALLBACK (used for example during the initial table synchronization in logical replication).","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bytes_processed","type":"bigint","description":"Number of bytes already processed by COPY command.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bytes_total","type":"bigint","description":"Size of source file for COPY FROM command in bytes. It is set to 0 if not available.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_processed","type":"bigint","description":"Number of tuples already processed by COPY command.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_excluded","type":"bigint","description":"Number of tuples not processed because they were excluded by the WHERE clause of the COPY command.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"16","to":"17","status":"changed","added_columns":[{"name":"tuples_skipped","type":"bigint","description":"Number of tuples skipped because they contain malformed data. This counter only advances when a value other than stop is specified to the ON_ERROR option.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"type","from":"The io type that the data is read from or written to: FILE, PROGRAM, PIPE (for COPY FROM STDIN and COPY TO STDOUT), or CALLBACK (used for example during the initial table synchronization in logical replication).","to":"The I/O type that the data is read from or written to: FILE, PROGRAM, PIPE (for COPY FROM STDIN and COPY TO STDOUT), or CALLBACK (used for example during the initial table synchronization in logical replication)."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"tuples_skipped","from":"Number of tuples skipped because they contain malformed data. This counter only advances when a value other than stop is specified to the ON_ERROR option.","to":"Number of tuples skipped because they contain malformed data. This counter only advances when ignore is specified to the ON_ERROR option."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_stat_progress_create_index","kind":"progress","summary":"One row for each backend running CREATE INDEX or REINDEX, showing current progress. See Section 27.4.4.","first_version":"12","last_version":"19","versions":{"12":{"description":"Whenever CREATE INDEX or REINDEX is running, the pg_stat_progress_create_index view will contain one row for each backend that is currently creating indexes. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table on which the index is being created.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_relid","type":"oid","description":"OID of the index being created or reindexed. During a non-concurrent CREATE INDEX, this is 0.","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running: CREATE INDEX, CREATE INDEX CONCURRENTLY, REINDEX, or REINDEX CONCURRENTLY.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of index creation. See Table 27.23.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"lockers_total","type":"bigint","description":"Total number of lockers to wait for, when applicable.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"lockers_done","type":"bigint","description":"Number of lockers already waited for.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_locker_pid","type":"bigint","description":"Process ID of the locker currently being waited for.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_total","type":"bigint","description":"Total number of blocks to be processed in the current phase.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_done","type":"bigint","description":"Number of blocks already processed in the current phase.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_total","type":"bigint","description":"Total number of tuples to be processed in the current phase.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_done","type":"bigint","description":"Number of tuples already processed in the current phase.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"partitions_total","type":"bigint","description":"When creating an index on a partitioned table, this column is set to the total number of partitions on which the index is to be created.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"partitions_done","type":"bigint","description":"When creating an index on a partitioned table, this column is set to the number of partitions on which the index has been completed.","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/progress-reporting.html#PG-STAT-PROGRESS-CREATE-INDEX-VIEW","source_path":"sources/postgresql/12/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","source_column_count":16,"documentary_schema_source":"documentation","relation_oid":12301,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"Whenever CREATE INDEX or REINDEX is running, the pg_stat_progress_create_index view will contain one row for each backend that is currently creating indexes. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table on which the index is being created.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_relid","type":"oid","description":"OID of the index being created or reindexed. During a non-concurrent CREATE INDEX, this is 0.","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running: CREATE INDEX, CREATE INDEX CONCURRENTLY, REINDEX, or REINDEX CONCURRENTLY.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of index creation. See Table 27.35.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"lockers_total","type":"bigint","description":"Total number of lockers to wait for, when applicable.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"lockers_done","type":"bigint","description":"Number of lockers already waited for.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_locker_pid","type":"bigint","description":"Process ID of the locker currently being waited for.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_total","type":"bigint","description":"Total number of blocks to be processed in the current phase.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_done","type":"bigint","description":"Number of blocks already processed in the current phase.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_total","type":"bigint","description":"Total number of tuples to be processed in the current phase.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_done","type":"bigint","description":"Number of tuples already processed in the current phase.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"partitions_total","type":"bigint","description":"When creating an index on a partitioned table, this column is set to the total number of partitions on which the index is to be created.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"partitions_done","type":"bigint","description":"When creating an index on a partitioned table, this column is set to the number of partitions on which the index has been completed.","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/progress-reporting.html#PG-STAT-PROGRESS-CREATE-INDEX-VIEW","source_path":"sources/postgresql/13/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":16,"documentary_schema_source":"documentation","relation_oid":12310,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"Whenever CREATE INDEX or REINDEX is running, the pg_stat_progress_create_index view will contain one row for each backend that is currently creating indexes. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table on which the index is being created.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_relid","type":"oid","description":"OID of the index being created or reindexed. During a non-concurrent CREATE INDEX, this is 0.","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running: CREATE INDEX, CREATE INDEX CONCURRENTLY, REINDEX, or REINDEX CONCURRENTLY.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of index creation. See Table 28.37.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"lockers_total","type":"bigint","description":"Total number of lockers to wait for, when applicable.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"lockers_done","type":"bigint","description":"Number of lockers already waited for.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_locker_pid","type":"bigint","description":"Process ID of the locker currently being waited for.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_total","type":"bigint","description":"Total number of blocks to be processed in the current phase.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_done","type":"bigint","description":"Number of blocks already processed in the current phase.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_total","type":"bigint","description":"Total number of tuples to be processed in the current phase.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_done","type":"bigint","description":"Number of tuples already processed in the current phase.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"partitions_total","type":"bigint","description":"When creating an index on a partitioned table, this column is set to the total number of partitions on which the index is to be created. This field is 0 during a REINDEX.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"partitions_done","type":"bigint","description":"When creating an index on a partitioned table, this column is set to the number of partitions on which the index has been created. This field is 0 during a REINDEX.","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/progress-reporting.html#PG-STAT-PROGRESS-CREATE-INDEX-VIEW","source_path":"sources/postgresql/14/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":16,"documentary_schema_source":"documentation","relation_oid":12521,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"Whenever CREATE INDEX or REINDEX is running, the pg_stat_progress_create_index view will contain one row for each backend that is currently creating indexes. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table on which the index is being created.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_relid","type":"oid","description":"OID of the index being created or reindexed. During a non-concurrent CREATE INDEX, this is 0.","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running: CREATE INDEX, CREATE INDEX CONCURRENTLY, REINDEX, or REINDEX CONCURRENTLY.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of index creation. See Table 28.39.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"lockers_total","type":"bigint","description":"Total number of lockers to wait for, when applicable.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"lockers_done","type":"bigint","description":"Number of lockers already waited for.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_locker_pid","type":"bigint","description":"Process ID of the locker currently being waited for.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_total","type":"bigint","description":"Total number of blocks to be processed in the current phase.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_done","type":"bigint","description":"Number of blocks already processed in the current phase.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_total","type":"bigint","description":"Total number of tuples to be processed in the current phase.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_done","type":"bigint","description":"Number of tuples already processed in the current phase.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"partitions_total","type":"bigint","description":"When creating an index on a partitioned table, this column is set to the total number of partitions on which the index is to be created. This field is 0 during a REINDEX.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"partitions_done","type":"bigint","description":"When creating an index on a partitioned table, this column is set to the number of partitions on which the index has been created. This field is 0 during a REINDEX.","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/progress-reporting.html#PG-STAT-PROGRESS-CREATE-INDEX-VIEW","source_path":"sources/postgresql/15/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":16,"documentary_schema_source":"documentation","relation_oid":12312,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"Whenever CREATE INDEX or REINDEX is running, the pg_stat_progress_create_index view will contain one row for each backend that is currently creating indexes. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of the backend creating indexes.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table on which the index is being created.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_relid","type":"oid","description":"OID of the index being created or reindexed. During a non-concurrent CREATE INDEX, this is 0.","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"Specific command type: CREATE INDEX, CREATE INDEX CONCURRENTLY, REINDEX, or REINDEX CONCURRENTLY.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of index creation. See Table 28.43.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"lockers_total","type":"bigint","description":"Total number of lockers to wait for, when applicable.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"lockers_done","type":"bigint","description":"Number of lockers already waited for.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_locker_pid","type":"bigint","description":"Process ID of the locker currently being waited for.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_total","type":"bigint","description":"Total number of blocks to be processed in the current phase.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_done","type":"bigint","description":"Number of blocks already processed in the current phase.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_total","type":"bigint","description":"Total number of tuples to be processed in the current phase.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_done","type":"bigint","description":"Number of tuples already processed in the current phase.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"partitions_total","type":"bigint","description":"Total number of partitions on which the index is to be created or attached, including both direct and indirect partitions. 0 during a REINDEX, or when the index is not partitioned.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"partitions_done","type":"bigint","description":"Number of partitions on which the index has already been created or attached, including both direct and indirect partitions. 0 during a REINDEX, or when the index is not partitioned.","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/progress-reporting.html#PG-STAT-PROGRESS-CREATE-INDEX-VIEW","source_path":"sources/postgresql/16/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":16,"documentary_schema_source":"documentation","relation_oid":12316,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"Whenever CREATE INDEX or REINDEX is running, the pg_stat_progress_create_index view will contain one row for each backend that is currently creating indexes. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of the backend creating indexes.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table on which the index is being created.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_relid","type":"oid","description":"OID of the index being created or reindexed. During a non-concurrent CREATE INDEX, this is 0.","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"Specific command type: CREATE INDEX, CREATE INDEX CONCURRENTLY, REINDEX, or REINDEX CONCURRENTLY.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of index creation. See Table 27.44.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"lockers_total","type":"bigint","description":"Total number of lockers to wait for, when applicable.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"lockers_done","type":"bigint","description":"Number of lockers already waited for.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_locker_pid","type":"bigint","description":"Process ID of the locker currently being waited for.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_total","type":"bigint","description":"Total number of blocks to be processed in the current phase.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_done","type":"bigint","description":"Number of blocks already processed in the current phase.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_total","type":"bigint","description":"Total number of tuples to be processed in the current phase.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_done","type":"bigint","description":"Number of tuples already processed in the current phase.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"partitions_total","type":"bigint","description":"Total number of partitions on which the index is to be created or attached, including both direct and indirect partitions. 0 during a REINDEX, or when the index is not partitioned.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"partitions_done","type":"bigint","description":"Number of partitions on which the index has already been created or attached, including both direct and indirect partitions. 0 during a REINDEX, or when the index is not partitioned.","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/progress-reporting.html#PG-STAT-PROGRESS-CREATE-INDEX-VIEW","source_path":"sources/postgresql/17/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":16,"documentary_schema_source":"documentation","relation_oid":12320,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"Whenever CREATE INDEX or REINDEX is running, the pg_stat_progress_create_index view will contain one row for each backend that is currently creating indexes. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of the backend creating indexes.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table on which the index is being created.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_relid","type":"oid","description":"OID of the index being created or reindexed. During a non-concurrent CREATE INDEX, this is 0.","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"Specific command type: CREATE INDEX, CREATE INDEX CONCURRENTLY, REINDEX, or REINDEX CONCURRENTLY.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of index creation. See Table 27.44.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"lockers_total","type":"bigint","description":"Total number of lockers to wait for, when applicable.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"lockers_done","type":"bigint","description":"Number of lockers already waited for.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_locker_pid","type":"bigint","description":"Process ID of the locker currently being waited for.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_total","type":"bigint","description":"Total number of blocks to be processed in the current phase.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_done","type":"bigint","description":"Number of blocks already processed in the current phase.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_total","type":"bigint","description":"Total number of tuples to be processed in the current phase.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_done","type":"bigint","description":"Number of tuples already processed in the current phase.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"partitions_total","type":"bigint","description":"Total number of partitions on which the index is to be created or attached, including both direct and indirect partitions. 0 during a REINDEX, or when the index is not partitioned.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"partitions_done","type":"bigint","description":"Number of partitions on which the index has already been created or attached, including both direct and indirect partitions. 0 during a REINDEX, or when the index is not partitioned.","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/progress-reporting.html#PG-STAT-PROGRESS-CREATE-INDEX-VIEW","source_path":"sources/postgresql/18/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":16,"documentary_schema_source":"documentation","relation_oid":12324,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"Whenever CREATE INDEX or REINDEX is running, the pg_stat_progress_create_index view will contain one row for each backend that is currently creating indexes. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of the backend creating indexes.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table on which the index is being created.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_relid","type":"oid","description":"OID of the index being created or reindexed. During a non-concurrent CREATE INDEX, this is 0.","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"Specific command type: CREATE INDEX, CREATE INDEX CONCURRENTLY, REINDEX, or REINDEX CONCURRENTLY.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of index creation. See Table 27.47.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"lockers_total","type":"bigint","description":"Total number of lockers to wait for, when applicable.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"lockers_done","type":"bigint","description":"Number of lockers already waited for.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_locker_pid","type":"bigint","description":"Process ID of the locker currently being waited for.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_total","type":"bigint","description":"Total number of blocks to be processed in the current phase.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_done","type":"bigint","description":"Number of blocks already processed in the current phase.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_total","type":"bigint","description":"Total number of tuples to be processed in the current phase.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_done","type":"bigint","description":"Number of tuples already processed in the current phase.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"partitions_total","type":"bigint","description":"Total number of partitions on which the index is to be created or attached, including both direct and indirect partitions. 0 during a REINDEX, or when the index is not partitioned.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"partitions_done","type":"bigint","description":"Number of partitions on which the index has already been created or attached, including both direct and indirect partitions. 0 during a REINDEX, or when the index is not partitioned.","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/progress-reporting.html#PG-STAT-PROGRESS-CREATE-INDEX-VIEW","source_path":"sources/postgresql/19/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":16,"documentary_schema_source":"documentation","relation_oid":12351,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"11","to":"12","status":"added","added_columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table on which the index is being created.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_relid","type":"oid","description":"OID of the index being created or reindexed. During a non-concurrent CREATE INDEX, this is 0.","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running: CREATE INDEX, CREATE INDEX CONCURRENTLY, REINDEX, or REINDEX CONCURRENTLY.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of index creation. See Table 27.23.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"lockers_total","type":"bigint","description":"Total number of lockers to wait for, when applicable.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"lockers_done","type":"bigint","description":"Number of lockers already waited for.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_locker_pid","type":"bigint","description":"Process ID of the locker currently being waited for.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_total","type":"bigint","description":"Total number of blocks to be processed in the current phase.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_done","type":"bigint","description":"Number of blocks already processed in the current phase.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_total","type":"bigint","description":"Total number of tuples to be processed in the current phase.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tuples_done","type":"bigint","description":"Number of tuples already processed in the current phase.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"partitions_total","type":"bigint","description":"When creating an index on a partitioned table, this column is set to the total number of partitions on which the index is to be created.","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"partitions_done","type":"bigint","description":"When creating an index on a partitioned table, this column is set to the number of partitions on which the index has been completed.","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase of index creation. See Table 27.23.","to":"Current processing phase of index creation. See Table 27.35."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"partitions_done","from":"When creating an index on a partitioned table, this column is set to the number of partitions on which the index has been completed.","to":"When creating an index on a partitioned table, this column is set to the number of partitions on which the index has been created. This field is 0 during a REINDEX."},{"name":"partitions_total","from":"When creating an index on a partitioned table, this column is set to the total number of partitions on which the index is to be created.","to":"When creating an index on a partitioned table, this column is set to the total number of partitions on which the index is to be created. This field is 0 during a REINDEX."},{"name":"phase","from":"Current processing phase of index creation. See Table 27.35.","to":"Current processing phase of index creation. See Table 28.37."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase of index creation. See Table 28.37.","to":"Current processing phase of index creation. See Table 28.39."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"15","to":"16","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"command","from":"The command that is running: CREATE INDEX, CREATE INDEX CONCURRENTLY, REINDEX, or REINDEX CONCURRENTLY.","to":"Specific command type: CREATE INDEX, CREATE INDEX CONCURRENTLY, REINDEX, or REINDEX CONCURRENTLY."},{"name":"partitions_done","from":"When creating an index on a partitioned table, this column is set to the number of partitions on which the index has been created. This field is 0 during a REINDEX.","to":"Number of partitions on which the index has already been created or attached, including both direct and indirect partitions. 0 during a REINDEX, or when the index is not partitioned."},{"name":"partitions_total","from":"When creating an index on a partitioned table, this column is set to the total number of partitions on which the index is to be created. This field is 0 during a REINDEX.","to":"Total number of partitions on which the index is to be created or attached, including both direct and indirect partitions. 0 during a REINDEX, or when the index is not partitioned."},{"name":"phase","from":"Current processing phase of index creation. See Table 28.39.","to":"Current processing phase of index creation. See Table 28.43."},{"name":"pid","from":"Process ID of backend.","to":"Process ID of the backend creating indexes."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase of index creation. See Table 28.43.","to":"Current processing phase of index creation. See Table 27.44."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase of index creation. See Table 27.44.","to":"Current processing phase of index creation. See Table 27.47."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_stat_progress_data_checksums","kind":"progress","summary":"One row for the data checksum launcher process while data checksums are being enabled or disabled. When enabling data checksums, the view also has one row for each worker process, showing current progress. See Section 27.4.8.","first_version":"19","last_version":"19","versions":{"19":{"description":"When data checksums are being enabled or disabled on a running cluster, the pg_stat_progress_data_checksums view will contain a row for the launcher process. When enabling data checksums, the view will also contain one row for each worker process which is currently calculating and writing checksums for the data pages in a database. The launcher provides an overview of the overall progress, such as how many databases have been processed and how many remain, while the workers track progress for currently processed databases.","columns":[{"name":"pid","type":"integer","description":"Process ID of the data checksum process, launcher or worker.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of this database, or 0 for the launcher process.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database, or NULL for the launcher process.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase, see Table 27.55 for description of the phases.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"databases_total","type":"bigint","description":"The total number of databases which will be processed. Only the launcher process has this value set when enabling data checksums; otherwise this is set to NULL.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"databases_done","type":"bigint","description":"The number of databases which have been processed. Only the launcher process has this value set when enabling data checksums; otherwise this is set to NULL.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relations_total","type":"bigint","description":"The total number of relations which will be processed, or NULL if the worker process hasn't calculated the number of relations yet. The launcher process has this set to NULL since it isn't responsible for processing relations, only launching worker processes.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relations_done","type":"bigint","description":"The number of relations which have been processed. The launcher process has this set to NULL.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_total","type":"bigint","description":"The number of blocks in the current relation which will be processed, or NULL if the worker process hasn't calculated the number of blocks yet. The launcher process has this set to NULL.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_done","type":"bigint","description":"The number of blocks in the current relation which have been processed. The launcher process has this set to NULL.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/progress-reporting.html#PG-STAT-PROGRESS-DATA-CHECKSUMS-VIEW","source_path":"sources/postgresql/19/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":10,"documentary_schema_source":"documentation","relation_oid":12365,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"18","to":"19","status":"added","added_columns":[{"name":"pid","type":"integer","description":"Process ID of the data checksum process, launcher or worker.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of this database, or 0 for the launcher process.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of this database, or NULL for the launcher process.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase, see Table 27.55 for description of the phases.","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"databases_total","type":"bigint","description":"The total number of databases which will be processed. Only the launcher process has this value set when enabling data checksums; otherwise this is set to NULL.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"databases_done","type":"bigint","description":"The number of databases which have been processed. Only the launcher process has this value set when enabling data checksums; otherwise this is set to NULL.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relations_total","type":"bigint","description":"The total number of relations which will be processed, or NULL if the worker process hasn't calculated the number of relations yet. The launcher process has this set to NULL since it isn't responsible for processing relations, only launching worker processes.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relations_done","type":"bigint","description":"The number of relations which have been processed. The launcher process has this set to NULL.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_total","type":"bigint","description":"The number of blocks in the current relation which will be processed, or NULL if the worker process hasn't calculated the number of blocks yet. The launcher process has this set to NULL.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blocks_done","type":"bigint","description":"The number of blocks in the current relation which have been processed. The launcher process has this set to NULL.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_progress_repack","kind":"progress","summary":"One row for each backend running REPACK, CLUSTER or VACUUM FULL, showing current progress. Section 27.4.5.","first_version":"19","last_version":"19","versions":{"19":{"description":"Whenever REPACK is running, the pg_stat_progress_repack view will contain a row for each backend that is currently running the command. The tables below describe the information that will be reported and provide information about how to interpret it.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being repacked.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running. Either REPACK or VACUUM FULL, or CLUSTER.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 27.49.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"repack_index_relid","type":"oid","description":"If the table is being scanned using an index, this is the OID of the index being used; otherwise, it is zero.","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_scanned","type":"bigint","description":"Number of heap tuples scanned. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_inserted","type":"bigint","description":"Number of heap tuples inserted. This counter only advances when the phase is seq scanning heap, index scanning heap, writing new heap or catch-up.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_updated","type":"bigint","description":"Number of heap tuples updated. This counter only advances when the phase is catch-up.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_deleted","type":"bigint","description":"Number of heap tuples deleted. This counter only advances when the phase is catch-up.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of seq scanning heap.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. This counter only advances when the phase is seq scanning heap.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_rebuild_count","type":"bigint","description":"Number of indexes rebuilt. This counter only advances when the phase is rebuilding index.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/progress-reporting.html#PG-STAT-PROGRESS-REPACK-VIEW","source_path":"sources/postgresql/19/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":14,"documentary_schema_source":"documentation","relation_oid":12341,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"18","to":"19","status":"added","added_columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being repacked.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"command","type":"text","description":"The command that is running. Either REPACK or VACUUM FULL, or CLUSTER.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase. See Table 27.49.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"repack_index_relid","type":"oid","description":"If the table is being scanned using an index, this is the OID of the index being used; otherwise, it is zero.","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_scanned","type":"bigint","description":"Number of heap tuples scanned. This counter only advances when the phase is seq scanning heap, index scanning heap or writing new heap.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_inserted","type":"bigint","description":"Number of heap tuples inserted. This counter only advances when the phase is seq scanning heap, index scanning heap, writing new heap or catch-up.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_updated","type":"bigint","description":"Number of heap tuples updated. This counter only advances when the phase is catch-up.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_tuples_deleted","type":"bigint","description":"Number of heap tuples deleted. This counter only advances when the phase is catch-up.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of seq scanning heap.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. This counter only advances when the phase is seq scanning heap.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_rebuild_count","type":"bigint","description":"Number of indexes rebuilt. This counter only advances when the phase is rebuilding index.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_progress_vacuum","kind":"progress","summary":"One row for each backend (including autovacuum worker processes) running VACUUM, showing current progress. See Section 27.4.6.","first_version":"9.6","last_version":"19","versions":{"9.6":{"description":"Whenever VACUUM is running, the pg_stat_progress_vacuum view will contain one row for each backend (including autovacuum worker processes) that is currently vacuuming. The tables below describe the information that will be reported and provide information about how to interpret it. Progress reporting is not currently supported for VACUUM FULL and backends running VACUUM FULL will not be listed in this view.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being vacuumed.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of vacuum. See Table 28-21.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of the scan; blocks added later will not be (and need not be) visited by this VACUUM.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. Because the visibility map is used to optimize scans, some blocks will be skipped without inspection; skipped blocks are included in this total, so that this number will eventually become equal to heap_blks_total when the vacuum is complete. This counter only advances when the phase is scanning heap.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_vacuumed","type":"bigint","description":"Number of heap blocks vacuumed. Unless the table has no indexes, this counter only advances when the phase is vacuuming heap. Blocks that contain no dead tuples are skipped, so the counter may sometimes skip forward in large increments.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_vacuum_count","type":"bigint","description":"Number of completed index vacuum cycles.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_dead_tuples","type":"bigint","description":"Number of dead tuples that we can store before needing to perform an index vacuum cycle, based on maintenance_work_mem.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"num_dead_tuples","type":"bigint","description":"Number of dead tuples collected since the last index vacuum cycle.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/progress-reporting.html#docContent","source_path":"sources/postgresql/9.6/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":11835,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Whenever VACUUM is running, the pg_stat_progress_vacuum view will contain one row for each backend (including autovacuum worker processes) that is currently vacuuming. The tables below describe the information that will be reported and provide information about how to interpret it. Progress reporting is not currently supported for VACUUM FULL and backends running VACUUM FULL will not be listed in this view.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being vacuumed.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of vacuum. See Table 28.22.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of the scan; blocks added later will not be (and need not be) visited by this VACUUM.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. Because the visibility map is used to optimize scans, some blocks will be skipped without inspection; skipped blocks are included in this total, so that this number will eventually become equal to heap_blks_total when the vacuum is complete. This counter only advances when the phase is scanning heap.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_vacuumed","type":"bigint","description":"Number of heap blocks vacuumed. Unless the table has no indexes, this counter only advances when the phase is vacuuming heap. Blocks that contain no dead tuples are skipped, so the counter may sometimes skip forward in large increments.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_vacuum_count","type":"bigint","description":"Number of completed index vacuum cycles.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_dead_tuples","type":"bigint","description":"Number of dead tuples that we can store before needing to perform an index vacuum cycle, based on maintenance_work_mem.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"num_dead_tuples","type":"bigint","description":"Number of dead tuples collected since the last index vacuum cycle.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/progress-reporting.html#PG-STAT-PROGRESS-VACUUM-VIEW","source_path":"sources/postgresql/10/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":11723,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Whenever VACUUM is running, the pg_stat_progress_vacuum view will contain one row for each backend (including autovacuum worker processes) that is currently vacuuming. The tables below describe the information that will be reported and provide information about how to interpret it. Progress reporting is not currently supported for VACUUM FULL and backends running VACUUM FULL will not be listed in this view.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being vacuumed.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of vacuum. See Table 28.22.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of the scan; blocks added later will not be (and need not be) visited by this VACUUM.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. Because the visibility map is used to optimize scans, some blocks will be skipped without inspection; skipped blocks are included in this total, so that this number will eventually become equal to heap_blks_total when the vacuum is complete. This counter only advances when the phase is scanning heap.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_vacuumed","type":"bigint","description":"Number of heap blocks vacuumed. Unless the table has no indexes, this counter only advances when the phase is vacuuming heap. Blocks that contain no dead tuples are skipped, so the counter may sometimes skip forward in large increments.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_vacuum_count","type":"bigint","description":"Number of completed index vacuum cycles.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_dead_tuples","type":"bigint","description":"Number of dead tuples that we can store before needing to perform an index vacuum cycle, based on maintenance_work_mem.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"num_dead_tuples","type":"bigint","description":"Number of dead tuples collected since the last index vacuum cycle.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/progress-reporting.html#PG-STAT-PROGRESS-VACUUM-VIEW","source_path":"sources/postgresql/11/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":11791,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Whenever VACUUM is running, the pg_stat_progress_vacuum view will contain one row for each backend (including autovacuum worker processes) that is currently vacuuming. The tables below describe the information that will be reported and provide information about how to interpret it. Progress for VACUUM FULL commands is reported via pg_stat_progress_cluster because both VACUUM FULL and CLUSTER rewrite the table, while regular VACUUM only modifies it in place. See Section 27.4.3.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being vacuumed.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of vacuum. See Table 27.25.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of the scan; blocks added later will not be (and need not be) visited by this VACUUM.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. Because the visibility map is used to optimize scans, some blocks will be skipped without inspection; skipped blocks are included in this total, so that this number will eventually become equal to heap_blks_total when the vacuum is complete. This counter only advances when the phase is scanning heap.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_vacuumed","type":"bigint","description":"Number of heap blocks vacuumed. Unless the table has no indexes, this counter only advances when the phase is vacuuming heap. Blocks that contain no dead tuples are skipped, so the counter may sometimes skip forward in large increments.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_vacuum_count","type":"bigint","description":"Number of completed index vacuum cycles.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_dead_tuples","type":"bigint","description":"Number of dead tuples that we can store before needing to perform an index vacuum cycle, based on maintenance_work_mem.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"num_dead_tuples","type":"bigint","description":"Number of dead tuples collected since the last index vacuum cycle.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/progress-reporting.html#PG-STAT-PROGRESS-VACUUM-VIEW","source_path":"sources/postgresql/12/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12293,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"Whenever VACUUM is running, the pg_stat_progress_vacuum view will contain one row for each backend (including autovacuum worker processes) that is currently vacuuming. The tables below describe the information that will be reported and provide information about how to interpret it. Progress for VACUUM FULL commands is reported via pg_stat_progress_cluster because both VACUUM FULL and CLUSTER rewrite the table, while regular VACUUM only modifies it in place. See Section 27.4.4.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being vacuumed.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of vacuum. See Table 27.37.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of the scan; blocks added later will not be (and need not be) visited by this VACUUM.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. Because the visibility map is used to optimize scans, some blocks will be skipped without inspection; skipped blocks are included in this total, so that this number will eventually become equal to heap_blks_total when the vacuum is complete. This counter only advances when the phase is scanning heap.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_vacuumed","type":"bigint","description":"Number of heap blocks vacuumed. Unless the table has no indexes, this counter only advances when the phase is vacuuming heap. Blocks that contain no dead tuples are skipped, so the counter may sometimes skip forward in large increments.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_vacuum_count","type":"bigint","description":"Number of completed index vacuum cycles.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_dead_tuples","type":"bigint","description":"Number of dead tuples that we can store before needing to perform an index vacuum cycle, based on maintenance_work_mem.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"num_dead_tuples","type":"bigint","description":"Number of dead tuples collected since the last index vacuum cycle.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/progress-reporting.html#PG-STAT-PROGRESS-VACUUM-VIEW","source_path":"sources/postgresql/13/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12302,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"Whenever VACUUM is running, the pg_stat_progress_vacuum view will contain one row for each backend (including autovacuum worker processes) that is currently vacuuming. The tables below describe the information that will be reported and provide information about how to interpret it. Progress for VACUUM FULL commands is reported via pg_stat_progress_cluster because both VACUUM FULL and CLUSTER rewrite the table, while regular VACUUM only modifies it in place. See Section 28.4.4.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being vacuumed.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of vacuum. See Table 28.39.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of the scan; blocks added later will not be (and need not be) visited by this VACUUM.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. Because the visibility map is used to optimize scans, some blocks will be skipped without inspection; skipped blocks are included in this total, so that this number will eventually become equal to heap_blks_total when the vacuum is complete. This counter only advances when the phase is scanning heap.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_vacuumed","type":"bigint","description":"Number of heap blocks vacuumed. Unless the table has no indexes, this counter only advances when the phase is vacuuming heap. Blocks that contain no dead tuples are skipped, so the counter may sometimes skip forward in large increments.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_vacuum_count","type":"bigint","description":"Number of completed index vacuum cycles.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_dead_tuples","type":"bigint","description":"Number of dead tuples that we can store before needing to perform an index vacuum cycle, based on maintenance_work_mem.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"num_dead_tuples","type":"bigint","description":"Number of dead tuples collected since the last index vacuum cycle.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/progress-reporting.html#PG-STAT-PROGRESS-VACUUM-VIEW","source_path":"sources/postgresql/14/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12511,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"Whenever VACUUM is running, the pg_stat_progress_vacuum view will contain one row for each backend (including autovacuum worker processes) that is currently vacuuming. The tables below describe the information that will be reported and provide information about how to interpret it. Progress for VACUUM FULL commands is reported via pg_stat_progress_cluster because both VACUUM FULL and CLUSTER rewrite the table, while regular VACUUM only modifies it in place. See Section 28.4.4.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being vacuumed.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of vacuum. See Table 28.41.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of the scan; blocks added later will not be (and need not be) visited by this VACUUM.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. Because the visibility map is used to optimize scans, some blocks will be skipped without inspection; skipped blocks are included in this total, so that this number will eventually become equal to heap_blks_total when the vacuum is complete. This counter only advances when the phase is scanning heap.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_vacuumed","type":"bigint","description":"Number of heap blocks vacuumed. Unless the table has no indexes, this counter only advances when the phase is vacuuming heap. Blocks that contain no dead tuples are skipped, so the counter may sometimes skip forward in large increments.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_vacuum_count","type":"bigint","description":"Number of completed index vacuum cycles.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_dead_tuples","type":"bigint","description":"Number of dead tuples that we can store before needing to perform an index vacuum cycle, based on maintenance_work_mem.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"num_dead_tuples","type":"bigint","description":"Number of dead tuples collected since the last index vacuum cycle.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/progress-reporting.html#PG-STAT-PROGRESS-VACUUM-VIEW","source_path":"sources/postgresql/15/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12302,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"Whenever VACUUM is running, the pg_stat_progress_vacuum view will contain one row for each backend (including autovacuum worker processes) that is currently vacuuming. The tables below describe the information that will be reported and provide information about how to interpret it. Progress for VACUUM FULL commands is reported via pg_stat_progress_cluster because both VACUUM FULL and CLUSTER rewrite the table, while regular VACUUM only modifies it in place. See Section 28.4.2.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being vacuumed.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of vacuum. See Table 28.45.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of the scan; blocks added later will not be (and need not be) visited by this VACUUM.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. Because the visibility map is used to optimize scans, some blocks will be skipped without inspection; skipped blocks are included in this total, so that this number will eventually become equal to heap_blks_total when the vacuum is complete. This counter only advances when the phase is scanning heap.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_vacuumed","type":"bigint","description":"Number of heap blocks vacuumed. Unless the table has no indexes, this counter only advances when the phase is vacuuming heap. Blocks that contain no dead tuples are skipped, so the counter may sometimes skip forward in large increments.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_vacuum_count","type":"bigint","description":"Number of completed index vacuum cycles.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_dead_tuples","type":"bigint","description":"Number of dead tuples that we can store before needing to perform an index vacuum cycle, based on maintenance_work_mem.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"num_dead_tuples","type":"bigint","description":"Number of dead tuples collected since the last index vacuum cycle.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/progress-reporting.html#PG-STAT-PROGRESS-VACUUM-VIEW","source_path":"sources/postgresql/16/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12306,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"Whenever VACUUM is running, the pg_stat_progress_vacuum view will contain one row for each backend (including autovacuum worker processes) that is currently vacuuming. The tables below describe the information that will be reported and provide information about how to interpret it. Progress for VACUUM FULL commands is reported via pg_stat_progress_cluster because both VACUUM FULL and CLUSTER rewrite the table, while regular VACUUM only modifies it in place. See Section 27.4.2.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being vacuumed.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of vacuum. See Table 27.46.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of the scan; blocks added later will not be (and need not be) visited by this VACUUM.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. Because the visibility map is used to optimize scans, some blocks will be skipped without inspection; skipped blocks are included in this total, so that this number will eventually become equal to heap_blks_total when the vacuum is complete. This counter only advances when the phase is scanning heap.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_vacuumed","type":"bigint","description":"Number of heap blocks vacuumed. Unless the table has no indexes, this counter only advances when the phase is vacuuming heap. Blocks that contain no dead tuples are skipped, so the counter may sometimes skip forward in large increments.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_vacuum_count","type":"bigint","description":"Number of completed index vacuum cycles.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_dead_tuple_bytes","type":"bigint","description":"Amount of dead tuple data that we can store before needing to perform an index vacuum cycle, based on maintenance_work_mem.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"dead_tuple_bytes","type":"bigint","description":"Amount of dead tuple data collected since the last index vacuum cycle.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"num_dead_item_ids","type":"bigint","description":"Number of dead item identifiers collected since the last index vacuum cycle.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexes_total","type":"bigint","description":"Total number of indexes that will be vacuumed or cleaned up. This number is reported at the beginning of the vacuuming indexes phase or the cleaning up indexes phase.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexes_processed","type":"bigint","description":"Number of indexes processed. This counter only advances when the phase is vacuuming indexes or cleaning up indexes.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/progress-reporting.html#PG-STAT-PROGRESS-VACUUM-VIEW","source_path":"sources/postgresql/17/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":14,"documentary_schema_source":"documentation","relation_oid":12310,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"Whenever VACUUM is running, the pg_stat_progress_vacuum view will contain one row for each backend (including autovacuum worker processes) that is currently vacuuming. The tables below describe the information that will be reported and provide information about how to interpret it. Progress for VACUUM FULL commands is reported via pg_stat_progress_cluster because both VACUUM FULL and CLUSTER rewrite the table, while regular VACUUM only modifies it in place. See Section 27.4.2.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being vacuumed.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of vacuum. See Table 27.46.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of the scan; blocks added later will not be (and need not be) visited by this VACUUM.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. Because the visibility map is used to optimize scans, some blocks will be skipped without inspection; skipped blocks are included in this total, so that this number will eventually become equal to heap_blks_total when the vacuum is complete. This counter only advances when the phase is scanning heap.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_vacuumed","type":"bigint","description":"Number of heap blocks vacuumed. Unless the table has no indexes, this counter only advances when the phase is vacuuming heap. Blocks that contain no dead tuples are skipped, so the counter may sometimes skip forward in large increments.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_vacuum_count","type":"bigint","description":"Number of completed index vacuum cycles.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_dead_tuple_bytes","type":"bigint","description":"Amount of dead tuple data that we can store before needing to perform an index vacuum cycle, based on maintenance_work_mem.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"dead_tuple_bytes","type":"bigint","description":"Amount of dead tuple data collected since the last index vacuum cycle.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"num_dead_item_ids","type":"bigint","description":"Number of dead item identifiers collected since the last index vacuum cycle.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexes_total","type":"bigint","description":"Total number of indexes that will be vacuumed or cleaned up. This number is reported at the beginning of the vacuuming indexes phase or the cleaning up indexes phase.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexes_processed","type":"bigint","description":"Number of indexes processed. This counter only advances when the phase is vacuuming indexes or cleaning up indexes.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"delay_time","type":"double precision","description":"Total time spent sleeping due to cost-based delay (see Section 19.10.2), in milliseconds (if track_cost_delay_timing is enabled, otherwise zero). This includes the time that any associated parallel workers have slept. However, parallel workers report their sleep time no more frequently than once per second, so the reported value may be slightly stale.","hidden":false,"type_oid":701,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/progress-reporting.html#PG-STAT-PROGRESS-VACUUM-VIEW","source_path":"sources/postgresql/18/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":12314,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"Whenever VACUUM is running, the pg_stat_progress_vacuum view will contain one row for each backend (including autovacuum worker processes) that is currently vacuuming. The tables below describe the information that will be reported and provide information about how to interpret it. Progress for VACUUM FULL commands is reported via pg_stat_progress_cluster because both VACUUM FULL and CLUSTER rewrite the table, while regular VACUUM only modifies it in place. See Section 27.4.2.","columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being vacuumed.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of vacuum. See Table 27.51.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of the scan; blocks added later will not be (and need not be) visited by this VACUUM.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. Because the visibility map is used to optimize scans, some blocks will be skipped without inspection; skipped blocks are included in this total, so that this number will eventually become equal to heap_blks_total when the vacuum is complete. This counter only advances when the phase is scanning heap.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_vacuumed","type":"bigint","description":"Number of heap blocks vacuumed. Unless the table has no indexes, this counter only advances when the phase is vacuuming heap. Blocks that contain no dead tuples are skipped, so the counter may sometimes skip forward in large increments.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_vacuum_count","type":"bigint","description":"Number of completed index vacuum cycles.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_dead_tuple_bytes","type":"bigint","description":"Amount of dead tuple data that we can store before needing to perform an index vacuum cycle, based on maintenance_work_mem.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"dead_tuple_bytes","type":"bigint","description":"Amount of dead tuple data collected since the last index vacuum cycle.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"num_dead_item_ids","type":"bigint","description":"Number of dead item identifiers collected since the last index vacuum cycle.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexes_total","type":"bigint","description":"Total number of indexes that will be vacuumed or cleaned up. This number is reported at the beginning of the vacuuming indexes phase or the cleaning up indexes phase.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexes_processed","type":"bigint","description":"Number of indexes processed. This counter only advances when the phase is vacuuming indexes or cleaning up indexes.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"delay_time","type":"double precision","description":"Total time spent sleeping due to cost-based delay (see Section 19.10.2), in milliseconds (if track_cost_delay_timing is enabled, otherwise zero). This includes the time that any associated parallel workers have slept. However, parallel workers report their sleep time no more frequently than once per second, so the reported value may be slightly stale.","hidden":false,"type_oid":701,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mode","type":"text","description":"The mode in which the current VACUUM operation is running. See Section 24.1.5 for details of each mode. Possible values are:","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"started_by","type":"text","description":"Shows what caused the current VACUUM operation to be started. Possible values are:","hidden":false,"type_oid":25,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/progress-reporting.html#PG-STAT-PROGRESS-VACUUM-VIEW","source_path":"sources/postgresql/19/progress-reporting.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":17,"documentary_schema_source":"documentation","relation_oid":12336,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.5","to":"9.6","status":"added","added_columns":[{"name":"pid","type":"integer","description":"Process ID of backend.","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datid","type":"oid","description":"OID of the database to which this backend is connected.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"datname","type":"name","description":"Name of the database to which this backend is connected.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the table being vacuumed.","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"phase","type":"text","description":"Current processing phase of vacuum. See Table 28-21.","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_total","type":"bigint","description":"Total number of heap blocks in the table. This number is reported as of the beginning of the scan; blocks added later will not be (and need not be) visited by this VACUUM.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_scanned","type":"bigint","description":"Number of heap blocks scanned. Because the visibility map is used to optimize scans, some blocks will be skipped without inspection; skipped blocks are included in this total, so that this number will eventually become equal to heap_blks_total when the vacuum is complete. This counter only advances when the phase is scanning heap.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_vacuumed","type":"bigint","description":"Number of heap blocks vacuumed. Unless the table has no indexes, this counter only advances when the phase is vacuuming heap. Blocks that contain no dead tuples are skipped, so the counter may sometimes skip forward in large increments.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"index_vacuum_count","type":"bigint","description":"Number of completed index vacuum cycles.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"max_dead_tuples","type":"bigint","description":"Number of dead tuples that we can store before needing to perform an index vacuum cycle, based on maintenance_work_mem.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"num_dead_tuples","type":"bigint","description":"Number of dead tuples collected since the last index vacuum cycle.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase of vacuum. See Table 28-21.","to":"Current processing phase of vacuum. See Table 28.22."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase of vacuum. See Table 28.22.","to":"Current processing phase of vacuum. See Table 27.25."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase of vacuum. See Table 27.25.","to":"Current processing phase of vacuum. See Table 27.37."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase of vacuum. See Table 27.37.","to":"Current processing phase of vacuum. See Table 28.39."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase of vacuum. See Table 28.39.","to":"Current processing phase of vacuum. See Table 28.41."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"15","to":"16","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase of vacuum. See Table 28.41.","to":"Current processing phase of vacuum. See Table 28.45."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[{"name":"max_dead_tuple_bytes","type":"bigint","description":"Amount of dead tuple data that we can store before needing to perform an index vacuum cycle, based on maintenance_work_mem.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"dead_tuple_bytes","type":"bigint","description":"Amount of dead tuple data collected since the last index vacuum cycle.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"num_dead_item_ids","type":"bigint","description":"Number of dead item identifiers collected since the last index vacuum cycle.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexes_total","type":"bigint","description":"Total number of indexes that will be vacuumed or cleaned up. This number is reported at the beginning of the vacuuming indexes phase or the cleaning up indexes phase.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexes_processed","type":"bigint","description":"Number of indexes processed. This counter only advances when the phase is vacuuming indexes or cleaning up indexes.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[{"name":"max_dead_tuples","type":"bigint","description":"Number of dead tuples that we can store before needing to perform an index vacuum cycle, based on maintenance_work_mem.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"num_dead_tuples","type":"bigint","description":"Number of dead tuples collected since the last index vacuum cycle.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase of vacuum. See Table 28.45.","to":"Current processing phase of vacuum. See Table 27.46."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"17","to":"18","status":"changed","added_columns":[{"name":"delay_time","type":"double precision","description":"Total time spent sleeping due to cost-based delay (see Section 19.10.2), in milliseconds (if track_cost_delay_timing is enabled, otherwise zero). This includes the time that any associated parallel workers have slept. However, parallel workers report their sleep time no more frequently than once per second, so the reported value may be slightly stale.","hidden":false,"type_oid":701,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"mode","type":"text","description":"The mode in which the current VACUUM operation is running. See Section 24.1.5 for details of each mode. Possible values are:","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"started_by","type":"text","description":"Shows what caused the current VACUUM operation to be started. Possible values are:","hidden":false,"type_oid":25,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"phase","from":"Current processing phase of vacuum. See Table 27.46.","to":"Current processing phase of vacuum. See Table 27.51."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_recovery","kind":"statistics","summary":"At most one row, showing statistics about the recovery state. See pg_stat_recovery for details.","first_version":"19","last_version":"19","versions":{"19":{"description":"The pg_stat_recovery view will contain at most one row, showing statistics about the recovery state of the startup process. This view returns no rows when the server is not in recovery or the user does not have privileges of the pg_read_all_stats role.","columns":[{"name":"promote_triggered","type":"boolean","description":"True if a promotion has been triggered.","hidden":false,"type_oid":16,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_replayed_read_lsn","type":"pg_lsn","description":"Start write-ahead log location of the last successfully replayed WAL record.","hidden":false,"type_oid":3220,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_replayed_end_lsn","type":"pg_lsn","description":"End write-ahead log location, plus one, of the last successfully replayed WAL record.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_replayed_tli","type":"integer","description":"Timeline of the last successfully replayed WAL record.","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_end_lsn","type":"pg_lsn","description":"Write-ahead log location of the record currently being replayed (end position plus one). When no record is being actively replayed, equals last_replayed_end_lsn.","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_end_tli","type":"integer","description":"Timeline of the WAL record currently being replayed. When no record is being actively replayed, equals last_replayed_tli.","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"recovery_last_xact_time","type":"timestamp with time zone","description":"Timestamp of the last transaction commit or abort record replayed during recovery. This is the time at which the commit or abort WAL record for that transaction was generated on the primary.","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_chunk_start_time","type":"timestamp with time zone","description":"Time when the startup process observed that replay had caught up with the latest WAL chunk received from streaming replication. Used in recovery-conflict timing and replay/apply-lag diagnostics. NULL if streaming WAL has not yet been received or the time is not available.","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pause_state","type":"text","description":"Recovery pause state. Possible values are:","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-RECOVERY-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12262,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"18","to":"19","status":"added","added_columns":[{"name":"promote_triggered","type":"boolean","description":"True if a promotion has been triggered.","hidden":false,"type_oid":16,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_replayed_read_lsn","type":"pg_lsn","description":"Start write-ahead log location of the last successfully replayed WAL record.","hidden":false,"type_oid":3220,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_replayed_end_lsn","type":"pg_lsn","description":"End write-ahead log location, plus one, of the last successfully replayed WAL record.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_replayed_tli","type":"integer","description":"Timeline of the last successfully replayed WAL record.","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_end_lsn","type":"pg_lsn","description":"Write-ahead log location of the record currently being replayed (end position plus one). When no record is being actively replayed, equals last_replayed_end_lsn.","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_end_tli","type":"integer","description":"Timeline of the WAL record currently being replayed. When no record is being actively replayed, equals last_replayed_tli.","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"recovery_last_xact_time","type":"timestamp with time zone","description":"Timestamp of the last transaction commit or abort record replayed during recovery. This is the time at which the commit or abort WAL record for that transaction was generated on the primary.","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"current_chunk_start_time","type":"timestamp with time zone","description":"Time when the startup process observed that replay had caught up with the latest WAL chunk received from streaming replication. Used in recovery-conflict timing and replay/apply-lag diagnostics. NULL if streaming WAL has not yet been received or the time is not available.","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pause_state","type":"text","description":"Recovery pause state. Possible values are:","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_recovery_prefetch","kind":"statistics","summary":"Only one row, showing statistics about blocks prefetched during recovery. See pg_stat_recovery_prefetch for details.","first_version":"15","last_version":"19","versions":{"15":{"description":"The pg_stat_recovery_prefetch view will contain only one row. The columns wal_distance, block_distance and io_depth show current values, and the other columns show cumulative counters that can be reset with the pg_stat_reset_shared function.","columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prefetch","type":"bigint","description":"Number of blocks prefetched because they were not in the buffer pool","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hit","type":"bigint","description":"Number of blocks not prefetched because they were already in the buffer pool","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_init","type":"bigint","description":"Number of blocks not prefetched because they would be zero-initialized","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_new","type":"bigint","description":"Number of blocks not prefetched because they didn't exist yet","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_fpw","type":"bigint","description":"Number of blocks not prefetched because a full page image was included in the WAL","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_rep","type":"bigint","description":"Number of blocks not prefetched because they were already recently prefetched","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_distance","type":"integer","description":"How many bytes ahead the prefetcher is looking","documented_type":"int","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"block_distance","type":"integer","description":"How many blocks ahead the prefetcher is looking","documented_type":"int","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"io_depth","type":"integer","description":"How many prefetches have been initiated but are not yet known to have completed","documented_type":"int","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STAT-RECOVERY-PREFETCH-VIEW","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":10,"documentary_schema_source":"documentation","relation_oid":12240,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_stat_recovery_prefetch view will contain only one row. The columns wal_distance, block_distance and io_depth show current values, and the other columns show cumulative counters that can be reset with the pg_stat_reset_shared function.","columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prefetch","type":"bigint","description":"Number of blocks prefetched because they were not in the buffer pool","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hit","type":"bigint","description":"Number of blocks not prefetched because they were already in the buffer pool","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_init","type":"bigint","description":"Number of blocks not prefetched because they would be zero-initialized","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_new","type":"bigint","description":"Number of blocks not prefetched because they didn't exist yet","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_fpw","type":"bigint","description":"Number of blocks not prefetched because a full page image was included in the WAL","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_rep","type":"bigint","description":"Number of blocks not prefetched because they were already recently prefetched","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_distance","type":"integer","description":"How many bytes ahead the prefetcher is looking","documented_type":"int","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"block_distance","type":"integer","description":"How many blocks ahead the prefetcher is looking","documented_type":"int","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"io_depth","type":"integer","description":"How many prefetches have been initiated but are not yet known to have completed","documented_type":"int","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STAT-RECOVERY-PREFETCH-VIEW","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":10,"documentary_schema_source":"documentation","relation_oid":12240,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_stat_recovery_prefetch view will contain only one row. The columns wal_distance, block_distance and io_depth show current values, and the other columns show cumulative counters that can be reset with the pg_stat_reset_shared function.","columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prefetch","type":"bigint","description":"Number of blocks prefetched because they were not in the buffer pool","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hit","type":"bigint","description":"Number of blocks not prefetched because they were already in the buffer pool","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_init","type":"bigint","description":"Number of blocks not prefetched because they would be zero-initialized","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_new","type":"bigint","description":"Number of blocks not prefetched because they didn't exist yet","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_fpw","type":"bigint","description":"Number of blocks not prefetched because a full page image was included in the WAL","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_rep","type":"bigint","description":"Number of blocks not prefetched because they were already recently prefetched","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_distance","type":"integer","description":"How many bytes ahead the prefetcher is looking","documented_type":"int","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"block_distance","type":"integer","description":"How many blocks ahead the prefetcher is looking","documented_type":"int","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"io_depth","type":"integer","description":"How many prefetches have been initiated but are not yet known to have completed","documented_type":"int","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STAT-RECOVERY-PREFETCH-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":10,"documentary_schema_source":"documentation","relation_oid":12240,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_stat_recovery_prefetch view will contain only one row. The columns wal_distance, block_distance and io_depth show current values, and the other columns show cumulative counters that can be reset with the pg_stat_reset_shared function.","columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prefetch","type":"bigint","description":"Number of blocks prefetched because they were not in the buffer pool","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hit","type":"bigint","description":"Number of blocks not prefetched because they were already in the buffer pool","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_init","type":"bigint","description":"Number of blocks not prefetched because they would be zero-initialized","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_new","type":"bigint","description":"Number of blocks not prefetched because they didn't exist yet","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_fpw","type":"bigint","description":"Number of blocks not prefetched because a full page image was included in the WAL","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_rep","type":"bigint","description":"Number of blocks not prefetched because they were already recently prefetched","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_distance","type":"integer","description":"How many bytes ahead the prefetcher is looking","documented_type":"int","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"block_distance","type":"integer","description":"How many blocks ahead the prefetcher is looking","documented_type":"int","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"io_depth","type":"integer","description":"How many prefetches have been initiated but are not yet known to have completed","documented_type":"int","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STAT-RECOVERY-PREFETCH-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":10,"documentary_schema_source":"documentation","relation_oid":12244,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_stat_recovery_prefetch view will contain only one row. The columns wal_distance, block_distance and io_depth show current values, and the other columns show cumulative counters that can be reset with the pg_stat_reset_shared function.","columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prefetch","type":"bigint","description":"Number of blocks prefetched because they were not in the buffer pool","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hit","type":"bigint","description":"Number of blocks not prefetched because they were already in the buffer pool","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_init","type":"bigint","description":"Number of blocks not prefetched because they would be zero-initialized","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_new","type":"bigint","description":"Number of blocks not prefetched because they didn't exist yet","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_fpw","type":"bigint","description":"Number of blocks not prefetched because a full page image was included in the WAL","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_rep","type":"bigint","description":"Number of blocks not prefetched because they were already recently prefetched","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_distance","type":"integer","description":"How many bytes ahead the prefetcher is looking","documented_type":"int","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"block_distance","type":"integer","description":"How many blocks ahead the prefetcher is looking","documented_type":"int","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"io_depth","type":"integer","description":"How many prefetches have been initiated but are not yet known to have completed","documented_type":"int","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-RECOVERY-PREFETCH-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":10,"documentary_schema_source":"documentation","relation_oid":12266,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"14","to":"15","status":"added","added_columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"prefetch","type":"bigint","description":"Number of blocks prefetched because they were not in the buffer pool","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hit","type":"bigint","description":"Number of blocks not prefetched because they were already in the buffer pool","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_init","type":"bigint","description":"Number of blocks not prefetched because they would be zero-initialized","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_new","type":"bigint","description":"Number of blocks not prefetched because they didn't exist yet","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_fpw","type":"bigint","description":"Number of blocks not prefetched because a full page image was included in the WAL","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"skip_rep","type":"bigint","description":"Number of blocks not prefetched because they were already recently prefetched","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_distance","type":"integer","description":"How many bytes ahead the prefetcher is looking","documented_type":"int","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"block_distance","type":"integer","description":"How many blocks ahead the prefetcher is looking","documented_type":"int","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"io_depth","type":"integer","description":"How many prefetches have been initiated but are not yet known to have completed","documented_type":"int","hidden":false,"type_oid":23,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_replication","kind":"statistics","summary":"One row per WAL sender process, showing statistics about replication to that sender's connected standby server. See pg_stat_replication for details.","first_version":"9.1","last_version":"19","versions":{"9.1":{"description":"One row per WAL sender process, showing process ID , user OID, user name, application name, client's address, host name (if available) and port number, time at which the server process began execution, and the current WAL sender state and transaction log location. In addition, the standby reports the last transaction log position it received and wrote, the last position it flushed to disk, and the last position it replayed, and this information is also displayed here. If the standby's application names matches one of the settings in synchronous_standby_names then the sync_priority is shown here also, that is the order in which standbys will become the synchronous standby. The columns detailing what exactly the connection is doing are only visible if the user examining the view is a superuser. The client's host name will be available only if log_hostname is set or if the user's host name needed to be looked up during pg_hba.conf processing.","columns":[{"name":"procpid","type":"integer","type_oid":23,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"S.procpid","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","type_oid":26,"description":"OID of the user logged into this WAL sender process","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"S.usesysid","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","type_oid":19,"description":"Name of the user logged into this WAL sender process","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"U.rolname","method":"catalog_name_column","catalog_field":"pg_authid.rolname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-authid.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","type_oid":25,"description":"Name of the application that is connected to this WAL sender","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"S.application_name","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","type_oid":869,"description":"IP address of the client connected to this WAL sender. If this field is null, it indicates that the client is connected via a Unix socket on the server machine.","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"S.client_addr","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","type_oid":25,"description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr . This field will only be non-null for IP connections, and only when log_hostname is enabled.","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"S.client_hostname","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","type_oid":23,"description":"TCP port number that the client is using for communication with this WAL sender, or -1 if a Unix socket is used","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"S.client_port","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","type_oid":1184,"description":"Time when this process was started, i.e., when the client connected to this WAL sender","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"S.backend_start","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","type_oid":25,"description":"Current WAL sender state","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"W.state","method":"sql_projection_and_function_signatures","function":"pg_stat_get_wal_senders","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2549"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sent_location","type":"text","type_oid":25,"description":"Last transaction log position sent on this connection","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"W.sent_location","method":"sql_projection_and_function_signatures","function":"pg_stat_get_wal_senders","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2549"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_location","type":"text","type_oid":25,"description":"Last transaction log position written to disk by this standby server","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"W.write_location","method":"sql_projection_and_function_signatures","function":"pg_stat_get_wal_senders","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2549"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_location","type":"text","type_oid":25,"description":"Last transaction log position flushed to disk by this standby server","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"W.flush_location","method":"sql_projection_and_function_signatures","function":"pg_stat_get_wal_senders","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2549"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_location","type":"text","type_oid":25,"description":"Last transaction log position replayed into the database on this standby server","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"W.replay_location","method":"sql_projection_and_function_signatures","function":"pg_stat_get_wal_senders","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2549"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_priority","type":"integer","type_oid":23,"description":"Priority of this standby server for being chosen as the synchronous standby","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"W.sync_priority","method":"sql_projection_and_function_signatures","function":"pg_stat_get_wal_senders","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2549"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_state","type":"text","type_oid":25,"description":"Synchronous state of this standby server","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"W.sync_state","method":"sql_projection_and_function_signatures","function":"pg_stat_get_wal_senders","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2549"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":15,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11098,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this WAL sender process","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this WAL sender process","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this WAL sender","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this WAL sender. If this field is null, it indicates that the client is connected via a Unix socket on the server machine.","hidden":false,"type_oid":869,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this WAL sender, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started, i.e., when the client connected to this WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current WAL sender state","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sent_location","type":"text","description":"Last transaction log position sent on this connection","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_location","type":"text","description":"Last transaction log position written to disk by this standby server","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_location","type":"text","description":"Last transaction log position flushed to disk by this standby server","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_location","type":"text","description":"Last transaction log position replayed into the database on this standby server","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_priority","type":"integer","description":"Priority of this standby server for being chosen as the synchronous standby","hidden":false,"type_oid":23,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_state","type":"text","description":"Synchronous state of this standby server","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":11168,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this WAL sender process","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this WAL sender process","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this WAL sender","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this WAL sender. If this field is null, it indicates that the client is connected via a Unix socket on the server machine.","hidden":false,"type_oid":869,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this WAL sender, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started, i.e., when the client connected to this WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current WAL sender state","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sent_location","type":"text","description":"Last transaction log position sent on this connection","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_location","type":"text","description":"Last transaction log position written to disk by this standby server","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_location","type":"text","description":"Last transaction log position flushed to disk by this standby server","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_location","type":"text","description":"Last transaction log position replayed into the database on this standby server","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_priority","type":"integer","description":"Priority of this standby server for being chosen as the synchronous standby","hidden":false,"type_oid":23,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_state","type":"text","description":"Synchronous state of this standby server","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":11189,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this WAL sender process","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this WAL sender process","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this WAL sender","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this WAL sender. If this field is null, it indicates that the client is connected via a Unix socket on the server machine.","hidden":false,"type_oid":869,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this WAL sender, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started, i.e., when the client connected to this WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"This standby's xmin horizon reported by hot_standby_feedback.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current WAL sender state","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sent_location","type":"pg_lsn","description":"Last transaction log position sent on this connection","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_location","type":"pg_lsn","description":"Last transaction log position written to disk by this standby server","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_location","type":"pg_lsn","description":"Last transaction log position flushed to disk by this standby server","hidden":false,"type_oid":3220,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_location","type":"pg_lsn","description":"Last transaction log position replayed into the database on this standby server","hidden":false,"type_oid":3220,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_priority","type":"integer","description":"Priority of this standby server for being chosen as the synchronous standby","hidden":false,"type_oid":23,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_state","type":"text","description":"Synchronous state of this standby server","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","source_column_count":16,"documentary_schema_source":"documentation","relation_oid":11287,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Several predefined views, listed in Table 27-1, are available to show the current state of the system. There are also several other views, listed in Table 27-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this WAL sender process","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this WAL sender process","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this WAL sender","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this WAL sender. If this field is null, it indicates that the client is connected via a Unix socket on the server machine.","hidden":false,"type_oid":869,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this WAL sender, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started, i.e., when the client connected to this WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"This standby's xmin horizon reported by hot_standby_feedback.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current WAL sender state","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sent_location","type":"pg_lsn","description":"Last transaction log position sent on this connection","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_location","type":"pg_lsn","description":"Last transaction log position written to disk by this standby server","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_location","type":"pg_lsn","description":"Last transaction log position flushed to disk by this standby server","hidden":false,"type_oid":3220,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_location","type":"pg_lsn","description":"Last transaction log position replayed into the database on this standby server","hidden":false,"type_oid":3220,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_priority","type":"integer","description":"Priority of this standby server for being chosen as the synchronous standby","hidden":false,"type_oid":23,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_state","type":"text","description":"Synchronous state of this standby server","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","source_column_count":16,"documentary_schema_source":"documentation","relation_oid":11776,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Several predefined views, listed in Table 28-1, are available to show the current state of the system. There are also several other views, listed in Table 28-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this WAL sender process","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this WAL sender process","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this WAL sender","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this WAL sender. If this field is null, it indicates that the client is connected via a Unix socket on the server machine.","hidden":false,"type_oid":869,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this WAL sender, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started, i.e., when the client connected to this WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"This standby's xmin horizon reported by hot_standby_feedback.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current WAL sender state","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sent_location","type":"pg_lsn","description":"Last transaction log position sent on this connection","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_location","type":"pg_lsn","description":"Last transaction log position written to disk by this standby server","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_location","type":"pg_lsn","description":"Last transaction log position flushed to disk by this standby server","hidden":false,"type_oid":3220,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_location","type":"pg_lsn","description":"Last transaction log position replayed into the database on this standby server","hidden":false,"type_oid":3220,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_priority","type":"integer","description":"Priority of this standby server for being chosen as the synchronous standby","hidden":false,"type_oid":23,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_state","type":"text","description":"Synchronous state of this standby server","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","source_column_count":16,"documentary_schema_source":"documentation","relation_oid":11801,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this WAL sender process","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this WAL sender process","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this WAL sender","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this WAL sender. If this field is null, it indicates that the client is connected via a Unix socket on the server machine.","hidden":false,"type_oid":869,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this WAL sender, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started, i.e., when the client connected to this WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"This standby's xmin horizon reported by hot_standby_feedback.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current WAL sender state. Possible values are: startup: This WAL sender is starting up. catchup: This WAL sender's connected standby is catching up with the primary. streaming: This WAL sender is streaming changes after its connected standby server has caught up with the primary. backup: This WAL sender is sending a backup. stopping: This WAL sender is stopping.","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sent_lsn","type":"pg_lsn","description":"Last write-ahead log location sent on this connection","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lsn","type":"pg_lsn","description":"Last write-ahead log location written to disk by this standby server","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lsn","type":"pg_lsn","description":"Last write-ahead log location flushed to disk by this standby server","hidden":false,"type_oid":3220,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lsn","type":"pg_lsn","description":"Last write-ahead log location replayed into the database on this standby server","hidden":false,"type_oid":3220,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written it (but not yet flushed it or applied it). This can be used to gauge the delay that synchronous_commit level remote_write incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written and flushed it (but not yet applied it). This can be used to gauge the delay that synchronous_commit level on incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written, flushed and applied it. This can be used to gauge the delay that synchronous_commit level remote_apply incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_priority","type":"integer","description":"Priority of this standby server for being chosen as the synchronous standby in a priority-based synchronous replication. This has no effect in a quorum-based synchronous replication.","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_state","type":"text","description":"Synchronous state of this standby server. Possible values are: async: This standby server is asynchronous. potential: This standby server is now asynchronous, but can potentially become synchronous if one of current synchronous ones fails. sync: This standby server is synchronous. quorum: This standby server is considered as a candidate for quorum standbys.","hidden":false,"type_oid":25,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":11686,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this WAL sender process","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this WAL sender process","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this WAL sender","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this WAL sender. If this field is null, it indicates that the client is connected via a Unix socket on the server machine.","hidden":false,"type_oid":869,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this WAL sender, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started, i.e., when the client connected to this WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"This standby's xmin horizon reported by hot_standby_feedback.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current WAL sender state. Possible values are: startup: This WAL sender is starting up. catchup: This WAL sender's connected standby is catching up with the primary. streaming: This WAL sender is streaming changes after its connected standby server has caught up with the primary. backup: This WAL sender is sending a backup. stopping: This WAL sender is stopping.","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sent_lsn","type":"pg_lsn","description":"Last write-ahead log location sent on this connection","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lsn","type":"pg_lsn","description":"Last write-ahead log location written to disk by this standby server","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lsn","type":"pg_lsn","description":"Last write-ahead log location flushed to disk by this standby server","hidden":false,"type_oid":3220,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lsn","type":"pg_lsn","description":"Last write-ahead log location replayed into the database on this standby server","hidden":false,"type_oid":3220,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written it (but not yet flushed it or applied it). This can be used to gauge the delay that synchronous_commit level remote_write incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written and flushed it (but not yet applied it). This can be used to gauge the delay that synchronous_commit level on incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written, flushed and applied it. This can be used to gauge the delay that synchronous_commit level remote_apply incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_priority","type":"integer","description":"Priority of this standby server for being chosen as the synchronous standby in a priority-based synchronous replication. This has no effect in a quorum-based synchronous replication.","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_state","type":"text","description":"Synchronous state of this standby server. Possible values are: async: This standby server is asynchronous. potential: This standby server is now asynchronous, but can potentially become synchronous if one of current synchronous ones fails. sync: This standby server is synchronous. quorum: This standby server is considered as a candidate for quorum standbys.","hidden":false,"type_oid":25,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":11754,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Several predefined views, listed in Table 27.1, are available to show the current state of the system. There are also several other views, listed in Table 27.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nSome of the information in the dynamic statistics views shown in Table 27.1 is security restricted. Ordinary users can only see all the information about their own sessions (sessions belonging to a role that they are a member of). In rows about other sessions, many columns will be null. Note, however, that the existence of a session and its general properties such as its sessions user and database are visible to all users. Superusers and members of the built-in role pg_read_all_stats (see also Section 21.5) can see all the information about all sessions.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, plus one for the shared objects, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this WAL sender process","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this WAL sender process","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this WAL sender","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this WAL sender. If this field is null, it indicates that the client is connected via a Unix socket on the server machine.","hidden":false,"type_oid":869,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this WAL sender, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started, i.e., when the client connected to this WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"This standby's xmin horizon reported by hot_standby_feedback.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current WAL sender state. Possible values are: startup: This WAL sender is starting up. catchup: This WAL sender's connected standby is catching up with the primary. streaming: This WAL sender is streaming changes after its connected standby server has caught up with the primary. backup: This WAL sender is sending a backup. stopping: This WAL sender is stopping.","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sent_lsn","type":"pg_lsn","description":"Last write-ahead log location sent on this connection","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lsn","type":"pg_lsn","description":"Last write-ahead log location written to disk by this standby server","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lsn","type":"pg_lsn","description":"Last write-ahead log location flushed to disk by this standby server","hidden":false,"type_oid":3220,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lsn","type":"pg_lsn","description":"Last write-ahead log location replayed into the database on this standby server","hidden":false,"type_oid":3220,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written it (but not yet flushed it or applied it). This can be used to gauge the delay that synchronous_commit level remote_write incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written and flushed it (but not yet applied it). This can be used to gauge the delay that synchronous_commit level on incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written, flushed and applied it. This can be used to gauge the delay that synchronous_commit level remote_apply incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_priority","type":"integer","description":"Priority of this standby server for being chosen as the synchronous standby in a priority-based synchronous replication. This has no effect in a quorum-based synchronous replication.","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_state","type":"text","description":"Synchronous state of this standby server. Possible values are: async: This standby server is asynchronous. potential: This standby server is now asynchronous, but can potentially become synchronous if one of current synchronous ones fails. sync: This standby server is synchronous. quorum: This standby server is considered as a candidate for quorum standbys.","hidden":false,"type_oid":25,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reply_time","type":"timestamp with time zone","description":"Send time of last reply message received from standby server","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","source_column_count":20,"documentary_schema_source":"documentation","relation_oid":12252,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this WAL sender process","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this WAL sender process","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this WAL sender","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this WAL sender. If this field is null, it indicates that the client is connected via a Unix socket on the server machine.","hidden":false,"type_oid":869,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this WAL sender, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started, i.e., when the client connected to this WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"This standby's xmin horizon reported by hot_standby_feedback.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current WAL sender state. Possible values are:","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sent_lsn","type":"pg_lsn","description":"Last write-ahead log location sent on this connection","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lsn","type":"pg_lsn","description":"Last write-ahead log location written to disk by this standby server","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lsn","type":"pg_lsn","description":"Last write-ahead log location flushed to disk by this standby server","hidden":false,"type_oid":3220,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lsn","type":"pg_lsn","description":"Last write-ahead log location replayed into the database on this standby server","hidden":false,"type_oid":3220,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written it (but not yet flushed it or applied it). This can be used to gauge the delay that synchronous_commit level remote_write incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written and flushed it (but not yet applied it). This can be used to gauge the delay that synchronous_commit level on incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written, flushed and applied it. This can be used to gauge the delay that synchronous_commit level remote_apply incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_priority","type":"integer","description":"Priority of this standby server for being chosen as the synchronous standby in a priority-based synchronous replication. This has no effect in a quorum-based synchronous replication.","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_state","type":"text","description":"Synchronous state of this standby server. Possible values are:","hidden":false,"type_oid":25,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reply_time","type":"timestamp with time zone","description":"Send time of last reply message received from standby server","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":20,"documentary_schema_source":"documentation","relation_oid":12254,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this WAL sender process","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this WAL sender process","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this WAL sender","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this WAL sender. If this field is null, it indicates that the client is connected via a Unix socket on the server machine.","hidden":false,"type_oid":869,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this WAL sender, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started, i.e., when the client connected to this WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"This standby's xmin horizon reported by hot_standby_feedback.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current WAL sender state. Possible values are:","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sent_lsn","type":"pg_lsn","description":"Last write-ahead log location sent on this connection","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lsn","type":"pg_lsn","description":"Last write-ahead log location written to disk by this standby server","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lsn","type":"pg_lsn","description":"Last write-ahead log location flushed to disk by this standby server","hidden":false,"type_oid":3220,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lsn","type":"pg_lsn","description":"Last write-ahead log location replayed into the database on this standby server","hidden":false,"type_oid":3220,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written it (but not yet flushed it or applied it). This can be used to gauge the delay that synchronous_commit level remote_write incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written and flushed it (but not yet applied it). This can be used to gauge the delay that synchronous_commit level on incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written, flushed and applied it. This can be used to gauge the delay that synchronous_commit level remote_apply incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_priority","type":"integer","description":"Priority of this standby server for being chosen as the synchronous standby in a priority-based synchronous replication. This has no effect in a quorum-based synchronous replication.","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_state","type":"text","description":"Synchronous state of this standby server. Possible values are:","hidden":false,"type_oid":25,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reply_time","type":"timestamp with time zone","description":"Send time of last reply message received from standby server","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":20,"documentary_schema_source":"documentation","relation_oid":12440,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this WAL sender process","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this WAL sender process","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this WAL sender","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this WAL sender. If this field is null, it indicates that the client is connected via a Unix socket on the server machine.","hidden":false,"type_oid":869,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this WAL sender, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started, i.e., when the client connected to this WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"This standby's xmin horizon reported by hot_standby_feedback.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current WAL sender state. Possible values are:","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sent_lsn","type":"pg_lsn","description":"Last write-ahead log location sent on this connection","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lsn","type":"pg_lsn","description":"Last write-ahead log location written to disk by this standby server","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lsn","type":"pg_lsn","description":"Last write-ahead log location flushed to disk by this standby server","hidden":false,"type_oid":3220,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lsn","type":"pg_lsn","description":"Last write-ahead log location replayed into the database on this standby server","hidden":false,"type_oid":3220,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written it (but not yet flushed it or applied it). This can be used to gauge the delay that synchronous_commit level remote_write incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written and flushed it (but not yet applied it). This can be used to gauge the delay that synchronous_commit level on incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written, flushed and applied it. This can be used to gauge the delay that synchronous_commit level remote_apply incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_priority","type":"integer","description":"Priority of this standby server for being chosen as the synchronous standby in a priority-based synchronous replication. This has no effect in a quorum-based synchronous replication.","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_state","type":"text","description":"Synchronous state of this standby server. Possible values are:","hidden":false,"type_oid":25,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reply_time","type":"timestamp with time zone","description":"Send time of last reply message received from standby server","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":20,"documentary_schema_source":"documentation","relation_oid":12227,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this WAL sender process","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this WAL sender process","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this WAL sender","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this WAL sender. If this field is null, it indicates that the client is connected via a Unix socket on the server machine.","hidden":false,"type_oid":869,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this WAL sender, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started, i.e., when the client connected to this WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"This standby's xmin horizon reported by hot_standby_feedback.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current WAL sender state. Possible values are:","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sent_lsn","type":"pg_lsn","description":"Last write-ahead log location sent on this connection","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lsn","type":"pg_lsn","description":"Last write-ahead log location written to disk by this standby server","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lsn","type":"pg_lsn","description":"Last write-ahead log location flushed to disk by this standby server","hidden":false,"type_oid":3220,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lsn","type":"pg_lsn","description":"Last write-ahead log location replayed into the database on this standby server","hidden":false,"type_oid":3220,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written it (but not yet flushed it or applied it). This can be used to gauge the delay that synchronous_commit level remote_write incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written and flushed it (but not yet applied it). This can be used to gauge the delay that synchronous_commit level on incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written, flushed and applied it. This can be used to gauge the delay that synchronous_commit level remote_apply incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_priority","type":"integer","description":"Priority of this standby server for being chosen as the synchronous standby in a priority-based synchronous replication. This has no effect in a quorum-based synchronous replication.","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_state","type":"text","description":"Synchronous state of this standby server. Possible values are:","hidden":false,"type_oid":25,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reply_time","type":"timestamp with time zone","description":"Send time of last reply message received from standby server","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":20,"documentary_schema_source":"documentation","relation_oid":12227,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this WAL sender process","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this WAL sender process","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this WAL sender","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this WAL sender. If this field is null, it indicates that the client is connected via a Unix socket on the server machine.","hidden":false,"type_oid":869,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this WAL sender, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started, i.e., when the client connected to this WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"This standby's xmin horizon reported by hot_standby_feedback.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current WAL sender state. Possible values are:","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sent_lsn","type":"pg_lsn","description":"Last write-ahead log location sent on this connection","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lsn","type":"pg_lsn","description":"Last write-ahead log location written to disk by this standby server","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lsn","type":"pg_lsn","description":"Last write-ahead log location flushed to disk by this standby server","hidden":false,"type_oid":3220,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lsn","type":"pg_lsn","description":"Last write-ahead log location replayed into the database on this standby server","hidden":false,"type_oid":3220,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written it (but not yet flushed it or applied it). This can be used to gauge the delay that synchronous_commit level remote_write incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written and flushed it (but not yet applied it). This can be used to gauge the delay that synchronous_commit level on incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written, flushed and applied it. This can be used to gauge the delay that synchronous_commit level remote_apply incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_priority","type":"integer","description":"Priority of this standby server for being chosen as the synchronous standby in a priority-based synchronous replication. This has no effect in a quorum-based synchronous replication.","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_state","type":"text","description":"Synchronous state of this standby server. Possible values are:","hidden":false,"type_oid":25,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reply_time","type":"timestamp with time zone","description":"Send time of last reply message received from standby server","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":20,"documentary_schema_source":"documentation","relation_oid":12227,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this WAL sender process","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this WAL sender process","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this WAL sender","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this WAL sender. If this field is null, it indicates that the client is connected via a Unix socket on the server machine.","hidden":false,"type_oid":869,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this WAL sender, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started, i.e., when the client connected to this WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"This standby's xmin horizon reported by hot_standby_feedback.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current WAL sender state. Possible values are:","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sent_lsn","type":"pg_lsn","description":"Last write-ahead log location sent on this connection","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lsn","type":"pg_lsn","description":"Last write-ahead log location written to disk by this standby server","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lsn","type":"pg_lsn","description":"Last write-ahead log location flushed to disk by this standby server","hidden":false,"type_oid":3220,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lsn","type":"pg_lsn","description":"Last write-ahead log location replayed into the database on this standby server","hidden":false,"type_oid":3220,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written it (but not yet flushed it or applied it). This can be used to gauge the delay that synchronous_commit level remote_write incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written and flushed it (but not yet applied it). This can be used to gauge the delay that synchronous_commit level on incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written, flushed and applied it. This can be used to gauge the delay that synchronous_commit level remote_apply incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_priority","type":"integer","description":"Priority of this standby server for being chosen as the synchronous standby in a priority-based synchronous replication. This has no effect in a quorum-based synchronous replication.","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_state","type":"text","description":"Synchronous state of this standby server. Possible values are:","hidden":false,"type_oid":25,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reply_time","type":"timestamp with time zone","description":"Send time of last reply message received from standby server","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":20,"documentary_schema_source":"documentation","relation_oid":12231,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.","columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"OID of the user logged into this WAL sender process","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the user logged into this WAL sender process","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","description":"Name of the application that is connected to this WAL sender","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","description":"IP address of the client connected to this WAL sender. If this field is null, it indicates that the client is connected via a Unix socket on the server machine.","hidden":false,"type_oid":869,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled.","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","description":"TCP port number that the client is using for communication with this WAL sender, or -1 if a Unix socket is used","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","description":"Time when this process was started, i.e., when the client connected to this WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_xmin","type":"xid","description":"This standby's xmin horizon reported by hot_standby_feedback. This field will be null if a replication slot is used (in this case, the standby's xmin is shown in pg_replication_slots) or if hot_standby_feedback is disabled.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","description":"Current WAL sender state. Possible values are:","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sent_lsn","type":"pg_lsn","description":"Last write-ahead log location sent on this connection","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lsn","type":"pg_lsn","description":"Last write-ahead log location written to disk by this standby server","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lsn","type":"pg_lsn","description":"Last write-ahead log location flushed to disk by this standby server","hidden":false,"type_oid":3220,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lsn","type":"pg_lsn","description":"Last write-ahead log location replayed into the database on this standby server","hidden":false,"type_oid":3220,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written it (but not yet flushed it or applied it). This can be used to gauge the delay that synchronous_commit level remote_write incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written and flushed it (but not yet applied it). This can be used to gauge the delay that synchronous_commit level on incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written, flushed and applied it. This can be used to gauge the delay that synchronous_commit level remote_apply incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_priority","type":"integer","description":"Priority of this standby server for being chosen as the synchronous standby in a priority-based synchronous replication. This has no effect in a quorum-based synchronous replication.","hidden":false,"type_oid":23,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_state","type":"text","description":"Synchronous state of this standby server. Possible values are:","hidden":false,"type_oid":25,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"reply_time","type":"timestamp with time zone","description":"Send time of last reply message received from standby server","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":20,"documentary_schema_source":"documentation","relation_oid":12245,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"added","added_columns":[{"name":"procpid","type":"integer","type_oid":23,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"S.procpid","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","type_oid":26,"description":"OID of the user logged into this WAL sender process","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"S.usesysid","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","type_oid":19,"description":"Name of the user logged into this WAL sender process","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"U.rolname","method":"catalog_name_column","catalog_field":"pg_authid.rolname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-authid.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"application_name","type":"text","type_oid":25,"description":"Name of the application that is connected to this WAL sender","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"S.application_name","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_addr","type":"inet","type_oid":869,"description":"IP address of the client connected to this WAL sender. If this field is null, it indicates that the client is connected via a Unix socket on the server machine.","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"S.client_addr","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_hostname","type":"text","type_oid":25,"description":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr . This field will only be non-null for IP connections, and only when log_hostname is enabled.","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"S.client_hostname","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_port","type":"integer","type_oid":23,"description":"TCP port number that the client is using for communication with this WAL sender, or -1 if a Unix socket is used","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"S.client_port","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"backend_start","type":"timestamp with time zone","type_oid":1184,"description":"Time when this process was started, i.e., when the client connected to this WAL sender","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"S.backend_start","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"state","type":"text","type_oid":25,"description":"Current WAL sender state","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"W.state","method":"sql_projection_and_function_signatures","function":"pg_stat_get_wal_senders","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2549"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sent_location","type":"text","type_oid":25,"description":"Last transaction log position sent on this connection","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"W.sent_location","method":"sql_projection_and_function_signatures","function":"pg_stat_get_wal_senders","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2549"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_location","type":"text","type_oid":25,"description":"Last transaction log position written to disk by this standby server","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"W.write_location","method":"sql_projection_and_function_signatures","function":"pg_stat_get_wal_senders","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2549"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_location","type":"text","type_oid":25,"description":"Last transaction log position flushed to disk by this standby server","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"W.flush_location","method":"sql_projection_and_function_signatures","function":"pg_stat_get_wal_senders","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2549"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_location","type":"text","type_oid":25,"description":"Last transaction log position replayed into the database on this standby server","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"W.replay_location","method":"sql_projection_and_function_signatures","function":"pg_stat_get_wal_senders","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2549"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_priority","type":"integer","type_oid":23,"description":"Priority of this standby server for being chosen as the synchronous standby","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"W.sync_priority","method":"sql_projection_and_function_signatures","function":"pg_stat_get_wal_senders","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2549"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_state","type":"text","type_oid":25,"description":"Synchronous state of this standby server","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"W.sync_state","method":"sql_projection_and_function_signatures","function":"pg_stat_get_wal_senders","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2549"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-REPLICATION-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[{"name":"pid","type":"integer","description":"Process ID of a WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[{"name":"procpid","type":"integer","type_oid":23,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L509","type_evidence":{"expression":"S.procpid","method":"sql_projection_and_function_signatures","function":"pg_stat_get_activity","function_source":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2547"},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[{"name":"client_hostname","from":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr . This field will only be non-null for IP connections, and only when log_hostname is enabled.","to":"Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.3","to":"9.4","status":"changed","added_columns":[{"name":"backend_xmin","type":"xid","description":"This standby's xmin horizon reported by hot_standby_feedback.","hidden":false,"type_oid":28,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[{"name":"flush_location","from":"text","to":"pg_lsn"},{"name":"replay_location","from":"text","to":"pg_lsn"},{"name":"sent_location","from":"text","to":"pg_lsn"},{"name":"write_location","from":"text","to":"pg_lsn"}],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[{"name":"sent_lsn","type":"pg_lsn","description":"Last write-ahead log location sent on this connection","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lsn","type":"pg_lsn","description":"Last write-ahead log location written to disk by this standby server","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lsn","type":"pg_lsn","description":"Last write-ahead log location flushed to disk by this standby server","hidden":false,"type_oid":3220,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lsn","type":"pg_lsn","description":"Last write-ahead log location replayed into the database on this standby server","hidden":false,"type_oid":3220,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written it (but not yet flushed it or applied it). This can be used to gauge the delay that synchronous_commit level remote_write incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written and flushed it (but not yet applied it). This can be used to gauge the delay that synchronous_commit level on incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_lag","type":"interval","description":"Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written, flushed and applied it. This can be used to gauge the delay that synchronous_commit level remote_apply incurred while committing if this server was configured as a synchronous standby.","hidden":false,"type_oid":1186,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[{"name":"sent_location","type":"pg_lsn","description":"Last transaction log position sent on this connection","hidden":false,"type_oid":3220,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"write_location","type":"pg_lsn","description":"Last transaction log position written to disk by this standby server","hidden":false,"type_oid":3220,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flush_location","type":"pg_lsn","description":"Last transaction log position flushed to disk by this standby server","hidden":false,"type_oid":3220,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"replay_location","type":"pg_lsn","description":"Last transaction log position replayed into the database on this standby server","hidden":false,"type_oid":3220,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[{"name":"state","from":"Current WAL sender state","to":"Current WAL sender state. Possible values are: startup: This WAL sender is starting up. catchup: This WAL sender's connected standby is catching up with the primary. streaming: This WAL sender is streaming changes after its connected standby server has caught up with the primary. backup: This WAL sender is sending a backup. stopping: This WAL sender is stopping."},{"name":"sync_priority","from":"Priority of this standby server for being chosen as the synchronous standby","to":"Priority of this standby server for being chosen as the synchronous standby in a priority-based synchronous replication. This has no effect in a quorum-based synchronous replication."},{"name":"sync_state","from":"Synchronous state of this standby server","to":"Synchronous state of this standby server. Possible values are: async: This standby server is asynchronous. potential: This standby server is now asynchronous, but can potentially become synchronous if one of current synchronous ones fails. sync: This standby server is synchronous. quorum: This standby server is considered as a candidate for quorum standbys."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"11","to":"12","status":"changed","added_columns":[{"name":"reply_time","type":"timestamp with time zone","description":"Send time of last reply message received from standby server","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"state","from":"Current WAL sender state. Possible values are: startup: This WAL sender is starting up. catchup: This WAL sender's connected standby is catching up with the primary. streaming: This WAL sender is streaming changes after its connected standby server has caught up with the primary. backup: This WAL sender is sending a backup. stopping: This WAL sender is stopping.","to":"Current WAL sender state. Possible values are:"},{"name":"sync_state","from":"Synchronous state of this standby server. Possible values are: async: This standby server is asynchronous. potential: This standby server is now asynchronous, but can potentially become synchronous if one of current synchronous ones fails. sync: This standby server is synchronous. quorum: This standby server is considered as a candidate for quorum standbys.","to":"Synchronous state of this standby server. Possible values are:"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"backend_xmin","from":"This standby's xmin horizon reported by hot_standby_feedback.","to":"This standby's xmin horizon reported by hot_standby_feedback. This field will be null if a replication slot is used (in this case, the standby's xmin is shown in pg_replication_slots) or if hot_standby_feedback is disabled."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_stat_replication_slots","kind":"statistics","summary":"One row per replication slot, showing statistics about the replication slot's usage. See pg_stat_replication_slots for details.","first_version":"14","last_version":"19","versions":{"14":{"description":"The pg_stat_replication_slots view will contain one row per logical replication slot, showing statistics about its usage.","columns":[{"name":"slot_name","type":"text","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_txns","type":"bigint","description":"Number of transactions spilled to disk once the memory used by logical decoding to decode changes from WAL has exceeded logical_decoding_work_mem. The counter gets incremented for both top-level transactions and subtransactions.","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_count","type":"bigint","description":"Number of times transactions were spilled to disk while decoding changes from WAL for this slot. This counter is incremented each time a transaction is spilled, and the same transaction may be spilled multiple times.","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_bytes","type":"bigint","description":"Amount of decoded transaction data spilled to disk while performing decoding of changes from WAL for this slot. This and other spill counters can be used to gauge the I/O which occurred during logical decoding and allow tuning logical_decoding_work_mem.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_txns","type":"bigint","description":"Number of in-progress transactions streamed to the decoding output plugin after the memory used by logical decoding to decode changes from WAL for this slot has exceeded logical_decoding_work_mem. Streaming only works with top-level transactions (subtransactions can't be streamed independently), so the counter is not incremented for subtransactions.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_count","type":"bigint","description":"Number of times in-progress transactions were streamed to the decoding output plugin while decoding changes from WAL for this slot. This counter is incremented each time a transaction is streamed, and the same transaction may be streamed multiple times.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_bytes","type":"bigint","description":"Amount of transaction data decoded for streaming in-progress transactions to the decoding output plugin while decoding changes from WAL for this slot. This and other streaming counters for this slot can be used to tune logical_decoding_work_mem.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_txns","type":"bigint","description":"Number of decoded transactions sent to the decoding output plugin for this slot. This counts top-level transactions only, and is not incremented for subtransactions. Note that this includes the transactions that are streamed and/or spilled.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_bytes","type":"bigint","description":"Amount of transaction data decoded for sending transactions to the decoding output plugin while decoding changes from WAL for this slot. Note that this includes data that is streamed and/or spilled.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html#PG-STAT-REPLICATION-SLOTS-VIEW","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":10,"documentary_schema_source":"documentation","relation_oid":12471,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_stat_replication_slots view will contain one row per logical replication slot, showing statistics about its usage.","columns":[{"name":"slot_name","type":"text","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_txns","type":"bigint","description":"Number of transactions spilled to disk once the memory used by logical decoding to decode changes from WAL has exceeded logical_decoding_work_mem. The counter gets incremented for both top-level transactions and subtransactions.","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_count","type":"bigint","description":"Number of times transactions were spilled to disk while decoding changes from WAL for this slot. This counter is incremented each time a transaction is spilled, and the same transaction may be spilled multiple times.","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_bytes","type":"bigint","description":"Amount of decoded transaction data spilled to disk while performing decoding of changes from WAL for this slot. This and other spill counters can be used to gauge the I/O which occurred during logical decoding and allow tuning logical_decoding_work_mem.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_txns","type":"bigint","description":"Number of in-progress transactions streamed to the decoding output plugin after the memory used by logical decoding to decode changes from WAL for this slot has exceeded logical_decoding_work_mem. Streaming only works with top-level transactions (subtransactions can't be streamed independently), so the counter is not incremented for subtransactions.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_count","type":"bigint","description":"Number of times in-progress transactions were streamed to the decoding output plugin while decoding changes from WAL for this slot. This counter is incremented each time a transaction is streamed, and the same transaction may be streamed multiple times.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_bytes","type":"bigint","description":"Amount of transaction data decoded for streaming in-progress transactions to the decoding output plugin while decoding changes from WAL for this slot. This and other streaming counters for this slot can be used to tune logical_decoding_work_mem.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_txns","type":"bigint","description":"Number of decoded transactions sent to the decoding output plugin for this slot. This counts top-level transactions only, and is not incremented for subtransactions. Note that this includes the transactions that are streamed and/or spilled.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_bytes","type":"bigint","description":"Amount of transaction data decoded for sending transactions to the decoding output plugin while decoding changes from WAL for this slot. Note that this includes data that is streamed and/or spilled.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STAT-REPLICATION-SLOTS-VIEW","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":10,"documentary_schema_source":"documentation","relation_oid":12262,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_stat_replication_slots view will contain one row per logical replication slot, showing statistics about its usage.","columns":[{"name":"slot_name","type":"text","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_txns","type":"bigint","description":"Number of transactions spilled to disk once the memory used by logical decoding to decode changes from WAL has exceeded logical_decoding_work_mem. The counter gets incremented for both top-level transactions and subtransactions.","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_count","type":"bigint","description":"Number of times transactions were spilled to disk while decoding changes from WAL for this slot. This counter is incremented each time a transaction is spilled, and the same transaction may be spilled multiple times.","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_bytes","type":"bigint","description":"Amount of decoded transaction data spilled to disk while performing decoding of changes from WAL for this slot. This and other spill counters can be used to gauge the I/O which occurred during logical decoding and allow tuning logical_decoding_work_mem.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_txns","type":"bigint","description":"Number of in-progress transactions streamed to the decoding output plugin after the memory used by logical decoding to decode changes from WAL for this slot has exceeded logical_decoding_work_mem. Streaming only works with top-level transactions (subtransactions can't be streamed independently), so the counter is not incremented for subtransactions.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_count","type":"bigint","description":"Number of times in-progress transactions were streamed to the decoding output plugin while decoding changes from WAL for this slot. This counter is incremented each time a transaction is streamed, and the same transaction may be streamed multiple times.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_bytes","type":"bigint","description":"Amount of transaction data decoded for streaming in-progress transactions to the decoding output plugin while decoding changes from WAL for this slot. This and other streaming counters for this slot can be used to tune logical_decoding_work_mem.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_txns","type":"bigint","description":"Number of decoded transactions sent to the decoding output plugin for this slot. This counts top-level transactions only, and is not incremented for subtransactions. Note that this includes the transactions that are streamed and/or spilled.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_bytes","type":"bigint","description":"Amount of transaction data decoded for sending transactions to the decoding output plugin while decoding changes from WAL for this slot. Note that this includes data that is streamed and/or spilled.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STAT-REPLICATION-SLOTS-VIEW","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":10,"documentary_schema_source":"documentation","relation_oid":12262,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_stat_replication_slots view will contain one row per logical replication slot, showing statistics about its usage.","columns":[{"name":"slot_name","type":"text","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_txns","type":"bigint","description":"Number of transactions spilled to disk once the memory used by logical decoding to decode changes from WAL has exceeded logical_decoding_work_mem. The counter gets incremented for both top-level transactions and subtransactions.","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_count","type":"bigint","description":"Number of times transactions were spilled to disk while decoding changes from WAL for this slot. This counter is incremented each time a transaction is spilled, and the same transaction may be spilled multiple times.","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_bytes","type":"bigint","description":"Amount of decoded transaction data spilled to disk while performing decoding of changes from WAL for this slot. This and other spill counters can be used to gauge the I/O which occurred during logical decoding and allow tuning logical_decoding_work_mem.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_txns","type":"bigint","description":"Number of in-progress transactions streamed to the decoding output plugin after the memory used by logical decoding to decode changes from WAL for this slot has exceeded logical_decoding_work_mem. Streaming only works with top-level transactions (subtransactions can't be streamed independently), so the counter is not incremented for subtransactions.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_count","type":"bigint","description":"Number of times in-progress transactions were streamed to the decoding output plugin while decoding changes from WAL for this slot. This counter is incremented each time a transaction is streamed, and the same transaction may be streamed multiple times.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_bytes","type":"bigint","description":"Amount of transaction data decoded for streaming in-progress transactions to the decoding output plugin while decoding changes from WAL for this slot. This and other streaming counters for this slot can be used to tune logical_decoding_work_mem.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_txns","type":"bigint","description":"Number of decoded transactions sent to the decoding output plugin for this slot. This counts top-level transactions only, and is not incremented for subtransactions. Note that this includes the transactions that are streamed and/or spilled.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_bytes","type":"bigint","description":"Amount of transaction data decoded for sending transactions to the decoding output plugin while decoding changes from WAL for this slot. Note that this includes data that is streamed and/or spilled.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STAT-REPLICATION-SLOTS-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":10,"documentary_schema_source":"documentation","relation_oid":12262,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_stat_replication_slots view will contain one row per logical replication slot, showing statistics about its usage.","columns":[{"name":"slot_name","type":"text","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_txns","type":"bigint","description":"Number of transactions spilled to disk once the memory used by logical decoding to decode changes from WAL has exceeded logical_decoding_work_mem. The counter gets incremented for both top-level transactions and subtransactions.","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_count","type":"bigint","description":"Number of times transactions were spilled to disk while decoding changes from WAL for this slot. This counter is incremented each time a transaction is spilled, and the same transaction may be spilled multiple times.","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_bytes","type":"bigint","description":"Amount of decoded transaction data spilled to disk while performing decoding of changes from WAL for this slot. This and other spill counters can be used to gauge the I/O which occurred during logical decoding and allow tuning logical_decoding_work_mem.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_txns","type":"bigint","description":"Number of in-progress transactions streamed to the decoding output plugin after the memory used by logical decoding to decode changes from WAL for this slot has exceeded logical_decoding_work_mem. Streaming only works with top-level transactions (subtransactions can't be streamed independently), so the counter is not incremented for subtransactions.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_count","type":"bigint","description":"Number of times in-progress transactions were streamed to the decoding output plugin while decoding changes from WAL for this slot. This counter is incremented each time a transaction is streamed, and the same transaction may be streamed multiple times.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_bytes","type":"bigint","description":"Amount of transaction data decoded for streaming in-progress transactions to the decoding output plugin while decoding changes from WAL for this slot. This and other streaming counters for this slot can be used to tune logical_decoding_work_mem.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_txns","type":"bigint","description":"Number of decoded transactions sent to the decoding output plugin for this slot. This counts top-level transactions only, and is not incremented for subtransactions. Note that this includes the transactions that are streamed and/or spilled.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_bytes","type":"bigint","description":"Amount of transaction data decoded for sending transactions to the decoding output plugin while decoding changes from WAL for this slot. Note that this includes data that is streamed and/or spilled.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STAT-REPLICATION-SLOTS-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":10,"documentary_schema_source":"documentation","relation_oid":12266,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_stat_replication_slots view will contain one row per logical replication slot, showing statistics about its usage.","columns":[{"name":"slot_name","type":"text","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_txns","type":"bigint","description":"Number of transactions spilled to disk once the memory used by logical decoding to decode changes from WAL has exceeded logical_decoding_work_mem. The counter gets incremented for both top-level transactions and subtransactions.","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_count","type":"bigint","description":"Number of times transactions were spilled to disk while decoding changes from WAL for this slot. This counter is incremented each time a transaction is spilled, and the same transaction may be spilled multiple times.","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_bytes","type":"bigint","description":"Amount of decoded transaction data spilled to disk while performing decoding of changes from WAL for this slot. This and other spill counters can be used to gauge the I/O which occurred during logical decoding and allow tuning logical_decoding_work_mem.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_txns","type":"bigint","description":"Number of in-progress transactions streamed to the decoding output plugin after the memory used by logical decoding to decode changes from WAL for this slot has exceeded logical_decoding_work_mem. Streaming only works with top-level transactions (subtransactions can't be streamed independently), so the counter is not incremented for subtransactions.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_count","type":"bigint","description":"Number of times in-progress transactions were streamed to the decoding output plugin while decoding changes from WAL for this slot. This counter is incremented each time a transaction is streamed, and the same transaction may be streamed multiple times.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_bytes","type":"bigint","description":"Amount of transaction data decoded for streaming in-progress transactions to the decoding output plugin while decoding changes from WAL for this slot. This and other streaming counters for this slot can be used to tune logical_decoding_work_mem.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"mem_exceeded_count","type":"bigint","description":"Number of times the memory used by logical decoding has exceeded logical_decoding_work_mem.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_txns","type":"bigint","description":"Number of decoded transactions sent to the decoding output plugin for this slot. This counts top-level transactions only, and is not incremented for subtransactions. Note that this includes the transactions that are streamed and/or spilled.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_bytes","type":"bigint","description":"Amount of transaction data decoded for sending transactions to the decoding output plugin while decoding changes from WAL for this slot. Note that this includes data that is streamed and/or spilled.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slotsync_skip_count","type":"bigint","description":"Number of times the slot synchronization is skipped. Slot synchronization occurs only on standby servers and thus this column has no meaning on the primary server.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slotsync_last_skip","type":"timestamp with time zone","description":"Time at which last slot synchronization was skipped. Slot synchronization occurs only on standby servers and thus this column has no meaning on the primary server.","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-REPLICATION-SLOTS-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":13,"documentary_schema_source":"documentation","relation_oid":12288,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"13","to":"14","status":"added","added_columns":[{"name":"slot_name","type":"text","description":"A unique, cluster-wide identifier for the replication slot","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_txns","type":"bigint","description":"Number of transactions spilled to disk once the memory used by logical decoding to decode changes from WAL has exceeded logical_decoding_work_mem. The counter gets incremented for both top-level transactions and subtransactions.","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_count","type":"bigint","description":"Number of times transactions were spilled to disk while decoding changes from WAL for this slot. This counter is incremented each time a transaction is spilled, and the same transaction may be spilled multiple times.","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spill_bytes","type":"bigint","description":"Amount of decoded transaction data spilled to disk while performing decoding of changes from WAL for this slot. This and other spill counters can be used to gauge the I/O which occurred during logical decoding and allow tuning logical_decoding_work_mem.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_txns","type":"bigint","description":"Number of in-progress transactions streamed to the decoding output plugin after the memory used by logical decoding to decode changes from WAL for this slot has exceeded logical_decoding_work_mem. Streaming only works with top-level transactions (subtransactions can't be streamed independently), so the counter is not incremented for subtransactions.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_count","type":"bigint","description":"Number of times in-progress transactions were streamed to the decoding output plugin while decoding changes from WAL for this slot. This counter is incremented each time a transaction is streamed, and the same transaction may be streamed multiple times.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stream_bytes","type":"bigint","description":"Amount of transaction data decoded for streaming in-progress transactions to the decoding output plugin while decoding changes from WAL for this slot. This and other streaming counters for this slot can be used to tune logical_decoding_work_mem.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_txns","type":"bigint","description":"Number of decoded transactions sent to the decoding output plugin for this slot. This counts top-level transactions only, and is not incremented for subtransactions. Note that this includes the transactions that are streamed and/or spilled.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_bytes","type":"bigint","description":"Amount of transaction data decoded for sending transactions to the decoding output plugin while decoding changes from WAL for this slot. Note that this includes data that is streamed and/or spilled.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"mem_exceeded_count","type":"bigint","description":"Number of times the memory used by logical decoding has exceeded logical_decoding_work_mem.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slotsync_skip_count","type":"bigint","description":"Number of times the slot synchronization is skipped. Slot synchronization occurs only on standby servers and thus this column has no meaning on the primary server.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slotsync_last_skip","type":"timestamp with time zone","description":"Time at which last slot synchronization was skipped. Slot synchronization occurs only on standby servers and thus this column has no meaning on the primary server.","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_slru","kind":"statistics","summary":"One row per SLRU, showing statistics of operations. See pg_stat_slru for details.","first_version":"13","last_version":"19","versions":{"13":{"description":"PostgreSQL accesses certain on-disk information via SLRU (simple least-recently-used) caches. The pg_stat_slru view will contain one row for each tracked SLRU cache, showing statistics about access to cached pages.","columns":[{"name":"name","type":"text","description":"Name of the SLRU","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_zeroed","type":"bigint","description":"Number of blocks zeroed during initializations","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the SLRU, so that a read was not necessary (this only includes hits in the SLRU, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read for this SLRU","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_written","type":"bigint","description":"Number of disk blocks written for this SLRU","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_exists","type":"bigint","description":"Number of blocks checked for existence for this SLRU","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flushes","type":"bigint","description":"Number of flushes of dirty data for this SLRU","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"truncates","type":"bigint","description":"Number of truncates for this SLRU","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html#PG-STAT-SLRU-VIEW","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12258,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"PostgreSQL accesses certain on-disk information via SLRU (simple least-recently-used) caches. The pg_stat_slru view will contain one row for each tracked SLRU cache, showing statistics about access to cached pages.","columns":[{"name":"name","type":"text","description":"Name of the SLRU","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_zeroed","type":"bigint","description":"Number of blocks zeroed during initializations","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the SLRU, so that a read was not necessary (this only includes hits in the SLRU, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read for this SLRU","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_written","type":"bigint","description":"Number of disk blocks written for this SLRU","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_exists","type":"bigint","description":"Number of blocks checked for existence for this SLRU","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flushes","type":"bigint","description":"Number of flushes of dirty data for this SLRU","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"truncates","type":"bigint","description":"Number of truncates for this SLRU","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html#PG-STAT-SLRU-VIEW","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12445,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"PostgreSQL accesses certain on-disk information via SLRU (simple least-recently-used) caches. The pg_stat_slru view will contain one row for each tracked SLRU cache, showing statistics about access to cached pages.","columns":[{"name":"name","type":"text","description":"Name of the SLRU","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_zeroed","type":"bigint","description":"Number of blocks zeroed during initializations","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the SLRU, so that a read was not necessary (this only includes hits in the SLRU, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read for this SLRU","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_written","type":"bigint","description":"Number of disk blocks written for this SLRU","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_exists","type":"bigint","description":"Number of blocks checked for existence for this SLRU","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flushes","type":"bigint","description":"Number of flushes of dirty data for this SLRU","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"truncates","type":"bigint","description":"Number of truncates for this SLRU","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STAT-SLRU-VIEW","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12232,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"PostgreSQL accesses certain on-disk information via SLRU (simple least-recently-used) caches. The pg_stat_slru view will contain one row for each tracked SLRU cache, showing statistics about access to cached pages.","columns":[{"name":"name","type":"text","description":"Name of the SLRU","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_zeroed","type":"bigint","description":"Number of blocks zeroed during initializations","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the SLRU, so that a read was not necessary (this only includes hits in the SLRU, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read for this SLRU","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_written","type":"bigint","description":"Number of disk blocks written for this SLRU","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_exists","type":"bigint","description":"Number of blocks checked for existence for this SLRU","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flushes","type":"bigint","description":"Number of flushes of dirty data for this SLRU","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"truncates","type":"bigint","description":"Number of truncates for this SLRU","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STAT-SLRU-VIEW","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12232,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"PostgreSQL accesses certain on-disk information via SLRU (simple least-recently-used) caches. The pg_stat_slru view will contain one row for each tracked SLRU cache, showing statistics about access to cached pages.\n\nFor each SLRU cache that's part of the core server, there is a configuration parameter that controls its size, with the suffix _buffers appended.","columns":[{"name":"name","type":"text","description":"Name of the SLRU","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_zeroed","type":"bigint","description":"Number of blocks zeroed during initializations","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the SLRU, so that a read was not necessary (this only includes hits in the SLRU, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read for this SLRU","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_written","type":"bigint","description":"Number of disk blocks written for this SLRU","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_exists","type":"bigint","description":"Number of blocks checked for existence for this SLRU","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flushes","type":"bigint","description":"Number of flushes of dirty data for this SLRU","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"truncates","type":"bigint","description":"Number of truncates for this SLRU","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STAT-SLRU-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12232,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"PostgreSQL accesses certain on-disk information via SLRU (simple least-recently-used) caches. The pg_stat_slru view will contain one row for each tracked SLRU cache, showing statistics about access to cached pages.\n\nFor each SLRU cache that's part of the core server, there is a configuration parameter that controls its size, with the suffix _buffers appended.","columns":[{"name":"name","type":"text","description":"Name of the SLRU","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_zeroed","type":"bigint","description":"Number of blocks zeroed during initializations","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the SLRU, so that a read was not necessary (this only includes hits in the SLRU, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read for this SLRU","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_written","type":"bigint","description":"Number of disk blocks written for this SLRU","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_exists","type":"bigint","description":"Number of blocks checked for existence for this SLRU","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flushes","type":"bigint","description":"Number of flushes of dirty data for this SLRU","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"truncates","type":"bigint","description":"Number of truncates for this SLRU","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STAT-SLRU-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12236,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"PostgreSQL accesses certain on-disk information via SLRU (simple least-recently-used) caches. The pg_stat_slru view will contain one row for each tracked SLRU cache, showing statistics about access to cached pages.\n\nFor each SLRU cache that's part of the core server, there is a configuration parameter that controls its size, with the suffix _buffers appended.","columns":[{"name":"name","type":"text","description":"Name of the SLRU","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_zeroed","type":"bigint","description":"Number of blocks zeroed during initializations","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the SLRU, so that a read was not necessary (this only includes hits in the SLRU, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read for this SLRU","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_written","type":"bigint","description":"Number of disk blocks written for this SLRU","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_exists","type":"bigint","description":"Number of blocks checked for existence for this SLRU","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flushes","type":"bigint","description":"Number of flushes of dirty data for this SLRU","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"truncates","type":"bigint","description":"Number of truncates for this SLRU","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-SLRU-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12250,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"12","to":"13","status":"added","added_columns":[{"name":"name","type":"text","description":"Name of the SLRU","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_zeroed","type":"bigint","description":"Number of blocks zeroed during initializations","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of times disk blocks were found already in the SLRU, so that a read was not necessary (this only includes hits in the SLRU, not the operating system's file system cache)","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read for this SLRU","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_written","type":"bigint","description":"Number of disk blocks written for this SLRU","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_exists","type":"bigint","description":"Number of blocks checked for existence for this SLRU","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flushes","type":"bigint","description":"Number of flushes of dirty data for this SLRU","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"truncates","type":"bigint","description":"Number of truncates for this SLRU","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_stat_ssl","kind":"statistics","summary":"One row per connection (regular and replication), showing information about SSL used on this connection. See pg_stat_ssl for details.","first_version":"9.5","last_version":"19","versions":{"9.5":{"description":"Several predefined views, listed in Table 27-1, are available to show the current state of the system. There are also several other views, listed in Table 27-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"pid","type":"integer","description":"Process ID of a backend or WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ssl","type":"boolean","description":"True if SSL is used on this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version of SSL in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cipher","type":"text","description":"Name of SSL cipher in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bits","type":"integer","description":"Number of bits in the encryption algorithm used, or NULL if SSL is not used on this connection","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"compression","type":"boolean","description":"True if SSL compression is in use, false if not, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"clientdn","type":"text","description":"Distinguished Name (DN) field from the client certificate used, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated if the DN field is longer than NAMEDATALEN (64 characters in a standard build)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11780,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Several predefined views, listed in Table 28-1, are available to show the current state of the system. There are also several other views, listed in Table 28-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"pid","type":"integer","description":"Process ID of a backend or WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ssl","type":"boolean","description":"True if SSL is used on this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version of SSL in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cipher","type":"text","description":"Name of SSL cipher in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bits","type":"integer","description":"Number of bits in the encryption algorithm used, or NULL if SSL is not used on this connection","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"compression","type":"boolean","description":"True if SSL compression is in use, false if not, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"clientdn","type":"text","description":"Distinguished Name (DN) field from the client certificate used, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated if the DN field is longer than NAMEDATALEN (64 characters in a standard build)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11808,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"pid","type":"integer","description":"Process ID of a backend or WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ssl","type":"boolean","description":"True if SSL is used on this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version of SSL in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cipher","type":"text","description":"Name of SSL cipher in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bits","type":"integer","description":"Number of bits in the encryption algorithm used, or NULL if SSL is not used on this connection","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"compression","type":"boolean","description":"True if SSL compression is in use, false if not, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"clientdn","type":"text","description":"Distinguished Name (DN) field from the client certificate used, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated if the DN field is longer than NAMEDATALEN (64 characters in a standard build)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html#PG-STAT-SSL-VIEW","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11696,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"pid","type":"integer","description":"Process ID of a backend or WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ssl","type":"boolean","description":"True if SSL is used on this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version of SSL in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cipher","type":"text","description":"Name of SSL cipher in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bits","type":"integer","description":"Number of bits in the encryption algorithm used, or NULL if SSL is not used on this connection","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"compression","type":"boolean","description":"True if SSL compression is in use, false if not, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"clientdn","type":"text","description":"Distinguished Name (DN) field from the client certificate used, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated if the DN field is longer than NAMEDATALEN (64 characters in a standard build)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html#PG-STAT-SSL-VIEW","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11764,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Several predefined views, listed in Table 27.1, are available to show the current state of the system. There are also several other views, listed in Table 27.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nSome of the information in the dynamic statistics views shown in Table 27.1 is security restricted. Ordinary users can only see all the information about their own sessions (sessions belonging to a role that they are a member of). In rows about other sessions, many columns will be null. Note, however, that the existence of a session and its general properties such as its sessions user and database are visible to all users. Superusers and members of the built-in role pg_read_all_stats (see also Section 21.5) can see all the information about all sessions.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, plus one for the shared objects, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"pid","type":"integer","description":"Process ID of a backend or WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ssl","type":"boolean","description":"True if SSL is used on this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version of SSL in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cipher","type":"text","description":"Name of SSL cipher in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bits","type":"integer","description":"Number of bits in the encryption algorithm used, or NULL if SSL is not used on this connection","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"compression","type":"boolean","description":"True if SSL compression is in use, false if not, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_dn","type":"text","description":"Distinguished Name (DN) field from the client certificate used, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated if the DN field is longer than NAMEDATALEN (64 characters in a standard build).","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_serial","type":"numeric","description":"Serial number of the client certificate, or NULL if no client certificate was supplied or if SSL is not in use on this connection. The combination of certificate serial number and certificate issuer uniquely identifies a certificate (unless the issuer erroneously reuses serial numbers).","hidden":false,"type_oid":1700,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"issuer_dn","type":"text","description":"DN of the issuer of the client certificate, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated like client_dn.","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html#PG-STAT-SSL-VIEW","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12262,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.","columns":[{"name":"pid","type":"integer","description":"Process ID of a backend or WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ssl","type":"boolean","description":"True if SSL is used on this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version of SSL in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cipher","type":"text","description":"Name of SSL cipher in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bits","type":"integer","description":"Number of bits in the encryption algorithm used, or NULL if SSL is not used on this connection","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"compression","type":"boolean","description":"True if SSL compression is in use, false if not, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_dn","type":"text","description":"Distinguished Name (DN) field from the client certificate used, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated if the DN field is longer than NAMEDATALEN (64 characters in a standard build).","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_serial","type":"numeric","description":"Serial number of the client certificate, or NULL if no client certificate was supplied or if SSL is not in use on this connection. The combination of certificate serial number and certificate issuer uniquely identifies a certificate (unless the issuer erroneously reuses serial numbers).","hidden":false,"type_oid":1700,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"issuer_dn","type":"text","description":"DN of the issuer of the client certificate, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated like client_dn.","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html#PG-STAT-SSL-VIEW","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12267,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.","columns":[{"name":"pid","type":"integer","description":"Process ID of a backend or WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ssl","type":"boolean","description":"True if SSL is used on this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version of SSL in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cipher","type":"text","description":"Name of SSL cipher in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bits","type":"integer","description":"Number of bits in the encryption algorithm used, or NULL if SSL is not used on this connection","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_dn","type":"text","description":"Distinguished Name (DN) field from the client certificate used, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated if the DN field is longer than NAMEDATALEN (64 characters in a standard build).","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_serial","type":"numeric","description":"Serial number of the client certificate, or NULL if no client certificate was supplied or if SSL is not in use on this connection. The combination of certificate serial number and certificate issuer uniquely identifies a certificate (unless the issuer erroneously reuses serial numbers).","hidden":false,"type_oid":1700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"issuer_dn","type":"text","description":"DN of the issuer of the client certificate, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated like client_dn.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html#PG-STAT-SSL-VIEW","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":12458,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.","columns":[{"name":"pid","type":"integer","description":"Process ID of a backend or WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ssl","type":"boolean","description":"True if SSL is used on this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version of SSL in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cipher","type":"text","description":"Name of SSL cipher in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bits","type":"integer","description":"Number of bits in the encryption algorithm used, or NULL if SSL is not used on this connection","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_dn","type":"text","description":"Distinguished Name (DN) field from the client certificate used, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated if the DN field is longer than NAMEDATALEN (64 characters in a standard build).","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_serial","type":"numeric","description":"Serial number of the client certificate, or NULL if no client certificate was supplied or if SSL is not in use on this connection. The combination of certificate serial number and certificate issuer uniquely identifies a certificate (unless the issuer erroneously reuses serial numbers).","hidden":false,"type_oid":1700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"issuer_dn","type":"text","description":"DN of the issuer of the client certificate, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated like client_dn.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STAT-SSL-VIEW","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":12249,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.","columns":[{"name":"pid","type":"integer","description":"Process ID of a backend or WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ssl","type":"boolean","description":"True if SSL is used on this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version of SSL in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cipher","type":"text","description":"Name of SSL cipher in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bits","type":"integer","description":"Number of bits in the encryption algorithm used, or NULL if SSL is not used on this connection","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_dn","type":"text","description":"Distinguished Name (DN) field from the client certificate used, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated if the DN field is longer than NAMEDATALEN (64 characters in a standard build).","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_serial","type":"numeric","description":"Serial number of the client certificate, or NULL if no client certificate was supplied or if SSL is not in use on this connection. The combination of certificate serial number and certificate issuer uniquely identifies a certificate (unless the issuer erroneously reuses serial numbers).","hidden":false,"type_oid":1700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"issuer_dn","type":"text","description":"DN of the issuer of the client certificate, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated like client_dn.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STAT-SSL-VIEW","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":12249,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.","columns":[{"name":"pid","type":"integer","description":"Process ID of a backend or WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ssl","type":"boolean","description":"True if SSL is used on this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version of SSL in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cipher","type":"text","description":"Name of SSL cipher in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bits","type":"integer","description":"Number of bits in the encryption algorithm used, or NULL if SSL is not used on this connection","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_dn","type":"text","description":"Distinguished Name (DN) field from the client certificate used, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated if the DN field is longer than NAMEDATALEN (64 characters in a standard build).","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_serial","type":"numeric","description":"Serial number of the client certificate, or NULL if no client certificate was supplied or if SSL is not in use on this connection. The combination of certificate serial number and certificate issuer uniquely identifies a certificate (unless the issuer erroneously reuses serial numbers).","hidden":false,"type_oid":1700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"issuer_dn","type":"text","description":"DN of the issuer of the client certificate, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated like client_dn.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STAT-SSL-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":12249,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.","columns":[{"name":"pid","type":"integer","description":"Process ID of a backend or WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ssl","type":"boolean","description":"True if SSL is used on this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version of SSL in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cipher","type":"text","description":"Name of SSL cipher in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bits","type":"integer","description":"Number of bits in the encryption algorithm used, or NULL if SSL is not used on this connection","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_dn","type":"text","description":"Distinguished Name (DN) field from the client certificate used, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated if the DN field is longer than NAMEDATALEN (64 characters in a standard build).","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_serial","type":"numeric","description":"Serial number of the client certificate, or NULL if no client certificate was supplied or if SSL is not in use on this connection. The combination of certificate serial number and certificate issuer uniquely identifies a certificate (unless the issuer erroneously reuses serial numbers).","hidden":false,"type_oid":1700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"issuer_dn","type":"text","description":"DN of the issuer of the client certificate, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated like client_dn.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STAT-SSL-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":12253,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.","columns":[{"name":"pid","type":"integer","description":"Process ID of a backend or WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ssl","type":"boolean","description":"True if SSL is used on this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version of SSL in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cipher","type":"text","description":"Name of SSL cipher in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bits","type":"integer","description":"Number of bits in the encryption algorithm used, or NULL if SSL is not used on this connection","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_dn","type":"text","description":"Distinguished Name (DN) field from the client certificate used, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated if the DN field is longer than NAMEDATALEN (64 characters in a standard build).","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_serial","type":"numeric","description":"Serial number of the client certificate, or NULL if no client certificate was supplied or if SSL is not in use on this connection. The combination of certificate serial number and certificate issuer uniquely identifies a certificate (unless the issuer erroneously reuses serial numbers).","hidden":false,"type_oid":1700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"issuer_dn","type":"text","description":"DN of the issuer of the client certificate, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated like client_dn.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-SSL-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":12275,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.4","to":"9.5","status":"added","added_columns":[{"name":"pid","type":"integer","description":"Process ID of a backend or WAL sender process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"ssl","type":"boolean","description":"True if SSL is used on this connection","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"version","type":"text","description":"Version of SSL in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"cipher","type":"text","description":"Name of SSL cipher in use, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"bits","type":"integer","description":"Number of bits in the encryption algorithm used, or NULL if SSL is not used on this connection","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"compression","type":"boolean","description":"True if SSL compression is in use, false if not, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"clientdn","type":"text","description":"Distinguished Name (DN) field from the client certificate used, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated if the DN field is longer than NAMEDATALEN (64 characters in a standard build)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[{"name":"client_dn","type":"text","description":"Distinguished Name (DN) field from the client certificate used, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated if the DN field is longer than NAMEDATALEN (64 characters in a standard build).","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"client_serial","type":"numeric","description":"Serial number of the client certificate, or NULL if no client certificate was supplied or if SSL is not in use on this connection. The combination of certificate serial number and certificate issuer uniquely identifies a certificate (unless the issuer erroneously reuses serial numbers).","hidden":false,"type_oid":1700,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"issuer_dn","type":"text","description":"DN of the issuer of the client certificate, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated like client_dn.","hidden":false,"type_oid":25,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[{"name":"clientdn","type":"text","description":"Distinguished Name (DN) field from the client certificate used, or NULL if no client certificate was supplied or if SSL is not in use on this connection. This field is truncated if the DN field is longer than NAMEDATALEN (64 characters in a standard build)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[{"name":"compression","type":"boolean","description":"True if SSL compression is in use, false if not, or NULL if SSL is not in use on this connection","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_subscription","kind":"statistics","summary":"At least one row per subscription, showing information about the subscription workers. See pg_stat_subscription for details.","first_version":"10","last_version":"19","versions":{"10":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"subid","type":"oid","description":"OID of the subscription","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subname","type":"name","description":"Name of the subscription","documented_type":"text","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the subscription worker process","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the relation that the worker is synchronizing; null for the main apply worker","documented_type":"Oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_lsn","type":"pg_lsn","description":"Last write-ahead log location received, the initial value of this field being 0","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":3220,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html#PG-STAT-SUBSCRIPTION","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":11693,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"subid","type":"oid","description":"OID of the subscription","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subname","type":"name","description":"Name of the subscription","documented_type":"text","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the subscription worker process","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the relation that the worker is synchronizing; null for the main apply worker","documented_type":"Oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_lsn","type":"pg_lsn","description":"Last write-ahead log location received, the initial value of this field being 0","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":3220,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html#PG-STAT-SUBSCRIPTION","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":11761,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Several predefined views, listed in Table 27.1, are available to show the current state of the system. There are also several other views, listed in Table 27.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nSome of the information in the dynamic statistics views shown in Table 27.1 is security restricted. Ordinary users can only see all the information about their own sessions (sessions belonging to a role that they are a member of). In rows about other sessions, many columns will be null. Note, however, that the existence of a session and its general properties such as its sessions user and database are visible to all users. Superusers and members of the built-in role pg_read_all_stats (see also Section 21.5) can see all the information about all sessions.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, plus one for the shared objects, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"subid","type":"oid","description":"OID of the subscription","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subname","type":"name","description":"Name of the subscription","documented_type":"text","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the subscription worker process","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the relation that the worker is synchronizing; null for the main apply worker","documented_type":"Oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_lsn","type":"pg_lsn","description":"Last write-ahead log location received, the initial value of this field being 0","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":3220,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html#PG-STAT-SUBSCRIPTION","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12259,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.","columns":[{"name":"subid","type":"oid","description":"OID of the subscription","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the subscription worker process","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the relation that the worker is synchronizing; null for the main apply worker","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_lsn","type":"pg_lsn","description":"Last write-ahead log location received, the initial value of this field being 0","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":3220,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html#PG-STAT-SUBSCRIPTION","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12264,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.","columns":[{"name":"subid","type":"oid","description":"OID of the subscription","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the subscription worker process","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the relation that the worker is synchronizing; null for the main apply worker","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_lsn","type":"pg_lsn","description":"Last write-ahead log location received, the initial value of this field being 0","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":3220,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html#PG-STAT-SUBSCRIPTION","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12453,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"At least one row per subscription, showing information about the subscription workers. See pg_stat_subscription for details.","columns":[{"name":"subid","type":"oid","description":"OID of the subscription","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the subscription worker process","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the relation that the worker is synchronizing; null for the main apply worker","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_lsn","type":"pg_lsn","description":"Last write-ahead log location received, the initial value of this field being 0","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":3220,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STAT-SUBSCRIPTION","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12244,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"At least one row per subscription, showing information about the subscription workers. See pg_stat_subscription for details.","columns":[{"name":"subid","type":"oid","description":"OID of the subscription","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the subscription worker process","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"leader_pid","type":"integer","description":"Process ID of the leader apply worker if this process is a parallel apply worker; NULL if this process is a leader apply worker or a synchronization worker","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the relation that the worker is synchronizing; NULL for the leader apply worker and parallel apply workers","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_lsn","type":"pg_lsn","description":"Last write-ahead log location received, the initial value of this field being 0; NULL for parallel apply workers","hidden":false,"type_oid":3220,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender; NULL for parallel apply workers","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender; NULL for parallel apply workers","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender; NULL for parallel apply workers","hidden":false,"type_oid":3220,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender; NULL for parallel apply workers","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STAT-SUBSCRIPTION","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":10,"documentary_schema_source":"documentation","relation_oid":12244,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"At least one row per subscription, showing information about the subscription workers. See pg_stat_subscription for details.","columns":[{"name":"subid","type":"oid","description":"OID of the subscription","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"worker_type","type":"text","description":"Type of the subscription worker process. Possible types are apply, parallel apply, and table synchronization.","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the subscription worker process","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"leader_pid","type":"integer","description":"Process ID of the leader apply worker if this process is a parallel apply worker; NULL if this process is a leader apply worker or a table synchronization worker","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the relation that the worker is synchronizing; NULL for the leader apply worker and parallel apply workers","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_lsn","type":"pg_lsn","description":"Last write-ahead log location received, the initial value of this field being 0; NULL for parallel apply workers","hidden":false,"type_oid":3220,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender; NULL for parallel apply workers","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender; NULL for parallel apply workers","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender; NULL for parallel apply workers","hidden":false,"type_oid":3220,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender; NULL for parallel apply workers","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STAT-SUBSCRIPTION","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12244,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"At least one row per subscription, showing information about the subscription workers. See pg_stat_subscription for details.","columns":[{"name":"subid","type":"oid","description":"OID of the subscription","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"worker_type","type":"text","description":"Type of the subscription worker process. Possible types are apply, parallel apply, and table synchronization.","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the subscription worker process","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"leader_pid","type":"integer","description":"Process ID of the leader apply worker if this process is a parallel apply worker; NULL if this process is a leader apply worker or a table synchronization worker","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the relation that the worker is synchronizing; NULL for the leader apply worker and parallel apply workers","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_lsn","type":"pg_lsn","description":"Last write-ahead log location received, the initial value of this field being 0; NULL for parallel apply workers","hidden":false,"type_oid":3220,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender; NULL for parallel apply workers","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender; NULL for parallel apply workers","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender; NULL for parallel apply workers","hidden":false,"type_oid":3220,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender; NULL for parallel apply workers","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STAT-SUBSCRIPTION","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12248,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"At least one row per subscription, showing information about the subscription workers. See pg_stat_subscription for details.","columns":[{"name":"subid","type":"oid","description":"OID of the subscription","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"worker_type","type":"text","description":"Type of the subscription worker process. Possible types are apply, parallel apply, table synchronization, and sequence synchronization.","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the subscription worker process","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"leader_pid","type":"integer","description":"Process ID of the leader apply worker if this process is a parallel apply worker; NULL if this process is a leader apply worker, a table synchronization worker or a sequence synchronization worker","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the relation that the worker is synchronizing; NULL for the leader apply worker, parallel apply workers and the sequence synchronization worker","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_lsn","type":"pg_lsn","description":"Last write-ahead log location received, the initial value of this field being 0; NULL for parallel apply workers and the sequence synchronization worker","hidden":false,"type_oid":3220,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender; NULL for parallel apply workers and the sequence synchronization worker","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender; NULL for parallel apply workers and the sequence synchronization worker","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender; NULL for parallel apply workers and the sequence synchronization worker","hidden":false,"type_oid":3220,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender; NULL for parallel apply workers and the sequence synchronization worker","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-SUBSCRIPTION","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12270,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.6","to":"10","status":"added","added_columns":[{"name":"subid","type":"oid","description":"OID of the subscription","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subname","type":"name","description":"Name of the subscription","documented_type":"text","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"pid","type":"integer","description":"Process ID of the subscription worker process","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relid","type":"oid","description":"OID of the relation that the worker is synchronizing; null for the main apply worker","documented_type":"Oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_lsn","type":"pg_lsn","description":"Last write-ahead log location received, the initial value of this field being 0","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":3220,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"15","to":"16","status":"changed","added_columns":[{"name":"leader_pid","type":"integer","description":"Process ID of the leader apply worker if this process is a parallel apply worker; NULL if this process is a leader apply worker or a synchronization worker","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"last_msg_receipt_time","from":"Receipt time of last message received from origin WAL sender","to":"Receipt time of last message received from origin WAL sender; NULL for parallel apply workers"},{"name":"last_msg_send_time","from":"Send time of last message received from origin WAL sender","to":"Send time of last message received from origin WAL sender; NULL for parallel apply workers"},{"name":"latest_end_lsn","from":"Last write-ahead log location reported to origin WAL sender","to":"Last write-ahead log location reported to origin WAL sender; NULL for parallel apply workers"},{"name":"latest_end_time","from":"Time of last write-ahead log location reported to origin WAL sender","to":"Time of last write-ahead log location reported to origin WAL sender; NULL for parallel apply workers"},{"name":"received_lsn","from":"Last write-ahead log location received, the initial value of this field being 0","to":"Last write-ahead log location received, the initial value of this field being 0; NULL for parallel apply workers"},{"name":"relid","from":"OID of the relation that the worker is synchronizing; null for the main apply worker","to":"OID of the relation that the worker is synchronizing; NULL for the leader apply worker and parallel apply workers"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"16","to":"17","status":"changed","added_columns":[{"name":"worker_type","type":"text","description":"Type of the subscription worker process. Possible types are apply, parallel apply, and table synchronization.","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"leader_pid","from":"Process ID of the leader apply worker if this process is a parallel apply worker; NULL if this process is a leader apply worker or a synchronization worker","to":"Process ID of the leader apply worker if this process is a parallel apply worker; NULL if this process is a leader apply worker or a table synchronization worker"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"last_msg_receipt_time","from":"Receipt time of last message received from origin WAL sender; NULL for parallel apply workers","to":"Receipt time of last message received from origin WAL sender; NULL for parallel apply workers and the sequence synchronization worker"},{"name":"last_msg_send_time","from":"Send time of last message received from origin WAL sender; NULL for parallel apply workers","to":"Send time of last message received from origin WAL sender; NULL for parallel apply workers and the sequence synchronization worker"},{"name":"latest_end_lsn","from":"Last write-ahead log location reported to origin WAL sender; NULL for parallel apply workers","to":"Last write-ahead log location reported to origin WAL sender; NULL for parallel apply workers and the sequence synchronization worker"},{"name":"latest_end_time","from":"Time of last write-ahead log location reported to origin WAL sender; NULL for parallel apply workers","to":"Time of last write-ahead log location reported to origin WAL sender; NULL for parallel apply workers and the sequence synchronization worker"},{"name":"leader_pid","from":"Process ID of the leader apply worker if this process is a parallel apply worker; NULL if this process is a leader apply worker or a table synchronization worker","to":"Process ID of the leader apply worker if this process is a parallel apply worker; NULL if this process is a leader apply worker, a table synchronization worker or a sequence synchronization worker"},{"name":"received_lsn","from":"Last write-ahead log location received, the initial value of this field being 0; NULL for parallel apply workers","to":"Last write-ahead log location received, the initial value of this field being 0; NULL for parallel apply workers and the sequence synchronization worker"},{"name":"relid","from":"OID of the relation that the worker is synchronizing; NULL for the leader apply worker and parallel apply workers","to":"OID of the relation that the worker is synchronizing; NULL for the leader apply worker, parallel apply workers and the sequence synchronization worker"},{"name":"worker_type","from":"Type of the subscription worker process. Possible types are apply, parallel apply, and table synchronization.","to":"Type of the subscription worker process. Possible types are apply, parallel apply, table synchronization, and sequence synchronization."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_stat_subscription_stats","kind":"statistics","summary":"One row per subscription, showing statistics about errors and conflicts. See pg_stat_subscription_stats for details.","first_version":"15","last_version":"19","versions":{"15":{"description":"The pg_stat_subscription_stats view will contain one row per subscription.","columns":[{"name":"subid","type":"oid","description":"OID of the subscription","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"apply_error_count","type":"bigint","description":"Number of times an error occurred while applying changes","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_error_count","type":"bigint","description":"Number of times an error occurred during the initial table synchronization","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STAT-SUBSCRIPTION-STATS","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":12336,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_stat_subscription_stats view will contain one row per subscription.","columns":[{"name":"subid","type":"oid","description":"OID of the subscription","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"apply_error_count","type":"bigint","description":"Number of times an error occurred while applying changes","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_error_count","type":"bigint","description":"Number of times an error occurred during the initial table synchronization","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STAT-SUBSCRIPTION-STATS","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":12340,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_stat_subscription_stats view will contain one row per subscription.","columns":[{"name":"subid","type":"oid","description":"OID of the subscription","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"apply_error_count","type":"bigint","description":"Number of times an error occurred while applying changes","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_error_count","type":"bigint","description":"Number of times an error occurred during the initial table synchronization","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STAT-SUBSCRIPTION-STATS","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":12343,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_stat_subscription_stats view will contain one row per subscription.","columns":[{"name":"subid","type":"oid","description":"OID of the subscription","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"apply_error_count","type":"bigint","description":"Number of times an error occurred while applying changes. Note that any conflict resulting in an apply error will be counted in both apply_error_count and the corresponding conflict count (e.g., confl_*).","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_error_count","type":"bigint","description":"Number of times an error occurred during the initial table synchronization","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_insert_exists","type":"bigint","description":"Number of times a row insertion violated a NOT DEFERRABLE unique constraint during the application of changes. See insert_exists for details about this conflict.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_update_origin_differs","type":"bigint","description":"Number of times an update was applied to a row that had been previously modified by another source during the application of changes. See update_origin_differs for details about this conflict.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_update_exists","type":"bigint","description":"Number of times that an updated row value violated a NOT DEFERRABLE unique constraint during the application of changes. See update_exists for details about this conflict.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_update_missing","type":"bigint","description":"Number of times the tuple to be updated was not found during the application of changes. See update_missing for details about this conflict.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_delete_origin_differs","type":"bigint","description":"Number of times a delete operation was applied to row that had been previously modified by another source during the application of changes. See delete_origin_differs for details about this conflict.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_delete_missing","type":"bigint","description":"Number of times the tuple to be deleted was not found during the application of changes. See delete_missing for details about this conflict.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_multiple_unique_conflicts","type":"bigint","description":"Number of times a row insertion or an updated row values violated multiple NOT DEFERRABLE unique constraints during the application of changes. See multiple_unique_conflicts for details about this conflict.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STAT-SUBSCRIPTION-STATS","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":12347,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_stat_subscription_stats view will contain one row per subscription.","columns":[{"name":"subid","type":"oid","description":"OID of the subscription","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"apply_error_count","type":"bigint","description":"Number of times an error occurred while applying changes. Note that any conflict resulting in an apply error will be counted in both apply_error_count and the corresponding conflict count (e.g., confl_*).","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_seq_error_count","type":"bigint","description":"Number of times an error occurred in the sequence synchronization worker. A single worker synchronizes all sequences, so one error increment may represent failures across multiple sequences.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_table_error_count","type":"bigint","description":"Number of times an error occurred during the initial table synchronization","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_insert_exists","type":"bigint","description":"Number of times a row insertion violated a NOT DEFERRABLE unique constraint during the application of changes. See insert_exists for details about this conflict.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_update_origin_differs","type":"bigint","description":"Number of times an update was applied to a row that had been previously modified by another source during the application of changes. See update_origin_differs for details about this conflict.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_update_exists","type":"bigint","description":"Number of times that an updated row value violated a NOT DEFERRABLE unique constraint during the application of changes. See update_exists for details about this conflict.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_update_deleted","type":"bigint","description":"Number of times the tuple to be updated was concurrently deleted by another source during the application of changes. See update_deleted for details about this conflict.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_update_missing","type":"bigint","description":"Number of times the tuple to be updated was not found during the application of changes. See update_missing for details about this conflict.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_delete_origin_differs","type":"bigint","description":"Number of times a delete operation was applied to row that had been previously modified by another source during the application of changes. See delete_origin_differs for details about this conflict.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_delete_missing","type":"bigint","description":"Number of times the tuple to be deleted was not found during the application of changes. See delete_missing for details about this conflict.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_multiple_unique_conflicts","type":"bigint","description":"Number of times a row insertion or an updated row values violated multiple NOT DEFERRABLE unique constraints during the application of changes. See multiple_unique_conflicts for details about this conflict.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-SUBSCRIPTION-STATS","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":14,"documentary_schema_source":"documentation","relation_oid":12379,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"14","to":"15","status":"added","added_columns":[{"name":"subid","type":"oid","description":"OID of the subscription","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"apply_error_count","type":"bigint","description":"Number of times an error occurred while applying changes","hidden":false,"type_oid":20,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_error_count","type":"bigint","description":"Number of times an error occurred during the initial table synchronization","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"17","to":"18","status":"changed","added_columns":[{"name":"confl_insert_exists","type":"bigint","description":"Number of times a row insertion violated a NOT DEFERRABLE unique constraint during the application of changes. See insert_exists for details about this conflict.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_update_origin_differs","type":"bigint","description":"Number of times an update was applied to a row that had been previously modified by another source during the application of changes. See update_origin_differs for details about this conflict.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_update_exists","type":"bigint","description":"Number of times that an updated row value violated a NOT DEFERRABLE unique constraint during the application of changes. See update_exists for details about this conflict.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_update_missing","type":"bigint","description":"Number of times the tuple to be updated was not found during the application of changes. See update_missing for details about this conflict.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_delete_origin_differs","type":"bigint","description":"Number of times a delete operation was applied to row that had been previously modified by another source during the application of changes. See delete_origin_differs for details about this conflict.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_delete_missing","type":"bigint","description":"Number of times the tuple to be deleted was not found during the application of changes. See delete_missing for details about this conflict.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_multiple_unique_conflicts","type":"bigint","description":"Number of times a row insertion or an updated row values violated multiple NOT DEFERRABLE unique constraints during the application of changes. See multiple_unique_conflicts for details about this conflict.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"apply_error_count","from":"Number of times an error occurred while applying changes","to":"Number of times an error occurred while applying changes. Note that any conflict resulting in an apply error will be counted in both apply_error_count and the corresponding conflict count (e.g., confl_*)."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"sync_seq_error_count","type":"bigint","description":"Number of times an error occurred in the sequence synchronization worker. A single worker synchronizes all sequences, so one error increment may represent failures across multiple sequences.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sync_table_error_count","type":"bigint","description":"Number of times an error occurred during the initial table synchronization","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"confl_update_deleted","type":"bigint","description":"Number of times the tuple to be updated was concurrently deleted by another source during the application of changes. See update_deleted for details about this conflict.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[{"name":"sync_error_count","type":"bigint","description":"Number of times an error occurred during the initial table synchronization","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_sys_indexes","kind":"statistics","summary":"Same as pg_stat_all_indexes, except that only indexes on system tables are shown.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"Same as pg_stat_all_indexes , except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L272","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","type_oid":26,"description":"OID of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L272","type_evidence":{"expression":"I.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema this index is in","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L272","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-namespace.html","inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L272","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html","inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","type_oid":19,"description":"Name of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L272","type_evidence":{"expression":"I.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html","inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","type_oid":20,"description":"Number of index scans initiated on this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L272","type_evidence":{"expression":"pg_stat_get_numscans(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2992"}],"inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","type_oid":20,"description":"Number of index entries returned by scans on this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L272","type_evidence":{"expression":"pg_stat_get_tuples_returned(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_returned","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2994"}],"inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","type_oid":20,"description":"Number of live table rows fetched by simple index scans using this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L272","type_evidence":{"expression":"pg_stat_get_tuples_fetched(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2996"}],"inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L272","documentation_url":"https://www.postgresql.org/docs/9.0/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_0_23","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_stat_all_indexes","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.0/source/system_views.sql","source_column_count":8,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11033,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"Same as pg_stat_all_indexes , except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L431","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","type_oid":26,"description":"OID of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L431","type_evidence":{"expression":"I.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema this index is in","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L431","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html","inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L431","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html","inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","type_oid":19,"description":"Name of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L431","type_evidence":{"expression":"I.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html","inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","type_oid":20,"description":"Number of index scans initiated on this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L431","type_evidence":{"expression":"pg_stat_get_numscans(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2507"}],"inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","type_oid":20,"description":"Number of index entries returned by scans on this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L431","type_evidence":{"expression":"pg_stat_get_tuples_returned(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_returned","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2509"}],"inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","type_oid":20,"description":"Number of live table rows fetched by simple index scans using this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L431","type_evidence":{"expression":"pg_stat_get_tuples_fetched(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2511"}],"inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L431","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_stat_all_indexes","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":8,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11070,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Same as pg_stat_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":11139,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Same as pg_stat_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":11160,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Same as pg_stat_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":11257,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Same as pg_stat_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":11746,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Same as pg_stat_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":11771,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Same as pg_stat_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":11656,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Same as pg_stat_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":11724,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Same as pg_stat_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":12222,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"Same as pg_stat_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":12224,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"Same as pg_stat_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":12401,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"Same as pg_stat_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":12188,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"Same as pg_stat_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last scan on this index, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":9,"documentary_schema_source":"documentation+source-sql","relation_oid":12188,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"Same as pg_stat_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last scan on this index, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":9,"documentary_schema_source":"documentation+source-sql","relation_oid":12188,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"Same as pg_stat_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last scan on this index, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":9,"documentary_schema_source":"documentation+source-sql","relation_oid":12192,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"Same as pg_stat_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last scan on this index, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":10,"documentary_schema_source":"documentation+source-sql","relation_oid":12206,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"15","to":"16","status":"changed","added_columns":[{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last scan on this index, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_sys_tables","kind":"statistics","summary":"Same as pg_stat_all_tables, except that only system tables are shown.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"Same as pg_stat_all_tables , except that only system tables are shown.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of a table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L211","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema that this table is in","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L211","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-namespace.html","inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L211","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html","inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","type_oid":20,"description":"Number of sequential scans initiated on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L211","type_evidence":{"expression":"pg_stat_get_numscans(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2992"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","type_oid":20,"description":"Number of live rows fetched by sequential scans","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L211","type_evidence":{"expression":"pg_stat_get_tuples_returned(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_returned","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2994"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","type_oid":20,"description":"Number of index scans initiated on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L211","type_evidence":{"expression":"sum(pg_stat_get_numscans(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2992"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","type_oid":20,"description":"Number of live rows fetched by index scans","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L211","type_evidence":{"expression":"sum(pg_stat_get_tuples_fetched(I.indexrelid))::bigint + pg_stat_get_tuples_fetched(C.oid)","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2996"},{"name":"pg_stat_get_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2996"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","type_oid":20,"description":"Number of rows inserted","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L211","type_evidence":{"expression":"pg_stat_get_tuples_inserted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_inserted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2998"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","type_oid":20,"description":"Number of rows updated","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L211","type_evidence":{"expression":"pg_stat_get_tuples_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3000"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","type_oid":20,"description":"Number of rows deleted","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L211","type_evidence":{"expression":"pg_stat_get_tuples_deleted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_deleted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3002"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","type_oid":20,"description":"Number of rows HOT updated (i.e., with no separate index update required)","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L211","type_evidence":{"expression":"pg_stat_get_tuples_hot_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_hot_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3004"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","type_oid":20,"description":"Estimated number of live rows","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L211","type_evidence":{"expression":"pg_stat_get_live_tuples(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_live_tuples","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3006"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","type_oid":20,"description":"Estimated number of dead rows","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L211","type_evidence":{"expression":"pg_stat_get_dead_tuples(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_dead_tuples","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3008"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL )","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L211","type_evidence":{"expression":"pg_stat_get_last_vacuum_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_vacuum_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3014"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was vacuumed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L211","type_evidence":{"expression":"pg_stat_get_last_autovacuum_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_autovacuum_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3016"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was manually analyzed","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L211","type_evidence":{"expression":"pg_stat_get_last_analyze_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_analyze_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3018"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was analyzed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L211","type_evidence":{"expression":"pg_stat_get_last_autoanalyze_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_autoanalyze_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3020"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L211","documentation_url":"https://www.postgresql.org/docs/9.0/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_0_23","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_stat_all_tables","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.0/source/system_views.sql","source_column_count":17,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11013,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"Same as pg_stat_all_tables , except that only system tables are shown.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of a table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema that this table is in","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html","inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html","inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","type_oid":20,"description":"Number of sequential scans initiated on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"pg_stat_get_numscans(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2507"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","type_oid":20,"description":"Number of live rows fetched by sequential scans","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"pg_stat_get_tuples_returned(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_returned","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2509"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","type_oid":20,"description":"Number of index scans initiated on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"sum(pg_stat_get_numscans(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2507"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","type_oid":20,"description":"Number of live rows fetched by index scans","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"sum(pg_stat_get_tuples_fetched(I.indexrelid))::bigint + pg_stat_get_tuples_fetched(C.oid)","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2511"},{"name":"pg_stat_get_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2511"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","type_oid":20,"description":"Number of rows inserted","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"pg_stat_get_tuples_inserted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_inserted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2513"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","type_oid":20,"description":"Number of rows updated","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"pg_stat_get_tuples_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2515"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","type_oid":20,"description":"Number of rows deleted","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"pg_stat_get_tuples_deleted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_deleted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2517"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","type_oid":20,"description":"Number of rows HOT updated (i.e., with no separate index update required)","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"pg_stat_get_tuples_hot_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_hot_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2519"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","type_oid":20,"description":"Estimated number of live rows","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"pg_stat_get_live_tuples(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_live_tuples","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2521"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","type_oid":20,"description":"Estimated number of dead rows","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"pg_stat_get_dead_tuples(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_dead_tuples","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2523"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL )","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"pg_stat_get_last_vacuum_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_vacuum_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2529"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was vacuumed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"pg_stat_get_last_autovacuum_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_autovacuum_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2531"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was manually analyzed","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"pg_stat_get_last_analyze_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_analyze_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2533"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was analyzed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"pg_stat_get_last_autoanalyze_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_autoanalyze_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2535"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","type_oid":20,"description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL )","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"pg_stat_get_vacuum_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_vacuum_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2537"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","type_oid":20,"description":"Number of times this table has been vacuumed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"pg_stat_get_autovacuum_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_autovacuum_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2539"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","type_oid":20,"description":"Number of times this table has been manually analyzed","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"pg_stat_get_analyze_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_analyze_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2541"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","type_oid":20,"description":"Number of times this table has been analyzed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"pg_stat_get_autoanalyze_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_autoanalyze_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2543"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_stat_all_tables","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":21,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11042,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Same as pg_stat_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":21,"documentary_schema_source":"documentation+source-sql","relation_oid":11111,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Same as pg_stat_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":21,"documentary_schema_source":"documentation+source-sql","relation_oid":11132,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Same as pg_stat_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":22,"documentary_schema_source":"documentation+source-sql","relation_oid":11229,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Same as pg_stat_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":22,"documentary_schema_source":"documentation+source-sql","relation_oid":11718,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Same as pg_stat_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":22,"documentary_schema_source":"documentation+source-sql","relation_oid":11743,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Same as pg_stat_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":22,"documentary_schema_source":"documentation+source-sql","relation_oid":11628,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Same as pg_stat_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":22,"documentary_schema_source":"documentation+source-sql","relation_oid":11696,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Same as pg_stat_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":22,"documentary_schema_source":"documentation+source-sql","relation_oid":12194,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"Same as pg_stat_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":23,"documentary_schema_source":"documentation+source-sql","relation_oid":12196,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"Same as pg_stat_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":23,"documentary_schema_source":"documentation+source-sql","relation_oid":12365,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"Same as pg_stat_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":23,"documentary_schema_source":"documentation+source-sql","relation_oid":12152,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"Same as pg_stat_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_seq_scan","type":"timestamp with time zone","description":"The time of the last sequential scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last index scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed","hidden":false,"type_oid":20,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":26,"documentary_schema_source":"documentation+source-sql","relation_oid":12152,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"Same as pg_stat_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_seq_scan","type":"timestamp with time zone","description":"The time of the last sequential scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last index scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed","hidden":false,"type_oid":20,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":26,"documentary_schema_source":"documentation+source-sql","relation_oid":12152,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"Same as pg_stat_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_seq_scan","type":"timestamp with time zone","description":"The time of the last sequential scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last index scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_vacuum_time","type":"double precision","description":"Total time this table has been manually vacuumed, in milliseconds (not counting VACUUM FULL). (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_autovacuum_time","type":"double precision","description":"Total time this table has been vacuumed by the autovacuum daemon, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_analyze_time","type":"double precision","description":"Total time this table has been manually analyzed, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_autoanalyze_time","type":"double precision","description":"Total time this table has been analyzed by the autovacuum daemon, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":30,"documentary_schema_source":"documentation+source-sql","relation_oid":12156,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"Same as pg_stat_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_seq_scan","type":"timestamp with time zone","description":"The time of the last sequential scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last index scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_vacuum_time","type":"double precision","description":"Total time this table has been manually vacuumed, in milliseconds (not counting VACUUM FULL). (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_autovacuum_time","type":"double precision","description":"Total time this table has been vacuumed by the autovacuum daemon, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_analyze_time","type":"double precision","description":"Total time this table has been manually analyzed, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_autoanalyze_time","type":"double precision","description":"Total time this table has been analyzed by the autovacuum daemon, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":31,"documentary_schema_source":"documentation+source-sql","relation_oid":12165,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[{"name":"vacuum_count","type":"bigint","type_oid":20,"description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL )","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"pg_stat_get_vacuum_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_vacuum_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2537"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","type_oid":20,"description":"Number of times this table has been vacuumed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"pg_stat_get_autovacuum_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_autovacuum_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2539"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","type_oid":20,"description":"Number of times this table has been manually analyzed","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"pg_stat_get_analyze_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_analyze_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2541"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","type_oid":20,"description":"Number of times this table has been analyzed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L360","type_evidence":{"expression":"pg_stat_get_autoanalyze_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_autoanalyze_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2543"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"last_vacuum","from":"Last time at which this table was manually vacuumed (not counting VACUUM FULL )","to":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)"},{"name":"vacuum_count","from":"Number of times this table has been manually vacuumed (not counting VACUUM FULL )","to":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.3","to":"9.4","status":"changed","added_columns":[{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"n_tup_upd","from":"Number of rows updated","to":"Number of rows updated (includes HOT updated rows)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"changed","added_columns":[{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"15","to":"16","status":"changed","added_columns":[{"name":"last_seq_scan","type":"timestamp with time zone","description":"The time of the last sequential scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last index scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"n_tup_del","from":"Number of rows deleted","to":"Total number of rows deleted"},{"name":"n_tup_hot_upd","from":"Number of rows HOT updated (i.e., with no separate index update required)","to":"Number of rows HOT updated. These are updates where no successor versions are required in indexes."},{"name":"n_tup_ins","from":"Number of rows inserted","to":"Total number of rows inserted"},{"name":"n_tup_upd","from":"Number of rows updated (includes HOT updated rows)","to":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"17","to":"18","status":"changed","added_columns":[{"name":"total_vacuum_time","type":"double precision","description":"Total time this table has been manually vacuumed, in milliseconds (not counting VACUUM FULL). (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_autovacuum_time","type":"double precision","description":"Total time this table has been vacuumed by the autovacuum daemon, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_analyze_time","type":"double precision","description":"Total time this table has been manually analyzed, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_autoanalyze_time","type":"double precision","description":"Total time this table has been analyzed by the autovacuum daemon, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"n_ins_since_vacuum","from":"Estimated number of rows inserted since this table was last vacuumed","to":"Estimated number of rows inserted since this table was last vacuumed (not counting VACUUM FULL)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_user_functions","kind":"statistics","summary":"One row for each tracked function, showing statistics about executions of that function. See pg_stat_user_functions for details.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"For all tracked functions, function OID, schema, name, number of calls, total time, and self time. Self time is the amount of time spent in the function itself, total time includes the time spent in functions it called. Time values are in milliseconds.","columns":[{"name":"funcid","type":"oid","type_oid":26,"description":"OID of a function","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L366","type_evidence":{"expression":"P.oid","method":"catalog_oid_system_column","catalog_field":"pg_proc.oid"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema this function is in","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L366","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-namespace.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","type_oid":19,"description":"Name of this function","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L366","type_evidence":{"expression":"P.proname","method":"catalog_name_column","catalog_field":"pg_proc.proname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-proc.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","type_oid":20,"description":"Number of times this function has been called","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L366","type_evidence":{"expression":"pg_stat_get_function_calls(P.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_function_calls","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3083"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"bigint","type_oid":20,"description":"Total time spent in this function and all other functions called by it, in milliseconds","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L366","type_evidence":{"expression":"pg_stat_get_function_time(P.oid) / 1000","method":"bigint_function_divided_by_integer_literal","functions":[{"name":"pg_stat_get_function_time","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3085"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"bigint","type_oid":20,"description":"Total time spent in this function itself, not including other functions called by it, in milliseconds","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L366","type_evidence":{"expression":"pg_stat_get_function_self_time(P.oid) / 1000","method":"bigint_function_divided_by_integer_literal","functions":[{"name":"pg_stat_get_function_self_time","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3087"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L366","documentation_url":"https://www.postgresql.org/docs/9.0/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_0_23","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.0/source/system_views.sql","source_column_count":6,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11064,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"For all tracked functions, function OID, schema, name, number of calls, total time, and self time. Self time is the amount of time spent in the function itself, total time includes the time spent in functions it called. Time values are in milliseconds.","columns":[{"name":"funcid","type":"oid","type_oid":26,"description":"OID of a function","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L561","type_evidence":{"expression":"P.oid","method":"catalog_oid_system_column","catalog_field":"pg_proc.oid"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema this function is in","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L561","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","type_oid":19,"description":"Name of this function","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L561","type_evidence":{"expression":"P.proname","method":"catalog_name_column","catalog_field":"pg_proc.proname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-proc.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","type_oid":20,"description":"Number of times this function has been called","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L561","type_evidence":{"expression":"pg_stat_get_function_calls(P.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_function_calls","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2626"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"bigint","type_oid":20,"description":"Total time spent in this function and all other functions called by it, in milliseconds","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L561","type_evidence":{"expression":"pg_stat_get_function_time(P.oid) / 1000","method":"bigint_function_divided_by_integer_literal","functions":[{"name":"pg_stat_get_function_time","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2628"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"bigint","type_oid":20,"description":"Total time spent in this function itself, not including other functions called by it, in milliseconds","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L561","type_evidence":{"expression":"pg_stat_get_function_self_time(P.oid) / 1000","method":"bigint_function_divided_by_integer_literal","functions":[{"name":"pg_stat_get_function_self_time","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2630"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L561","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":6,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11107,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":11177,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":11198,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":11300,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Several predefined views, listed in Table 27-1, are available to show the current state of the system. There are also several other views, listed in Table 27-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":11793,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Several predefined views, listed in Table 28-1, are available to show the current state of the system. There are also several other views, listed in Table 28-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":11821,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":11709,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":11777,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Several predefined views, listed in Table 27.1, are available to show the current state of the system. There are also several other views, listed in Table 27.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nSome of the information in the dynamic statistics views shown in Table 27.1 is security restricted. Ordinary users can only see all the information about their own sessions (sessions belonging to a role that they are a member of). In rows about other sessions, many columns will be null. Note, however, that the existence of a session and its general properties such as its sessions user and database are visible to all users. Superusers and members of the built-in role pg_read_all_stats (see also Section 21.5) can see all the information about all sessions.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, plus one for the shared objects, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":12279,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":12284,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":12484,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":12275,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":12275,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":12275,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":12279,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-USER-FUNCTIONS-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12301,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[{"name":"self_time","from":"bigint","to":"double precision"},{"name":"total_time","from":"bigint","to":"double precision"}],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.3","to":"9.4","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_user_indexes","kind":"statistics","summary":"Same as pg_stat_all_indexes, except that only indexes on user tables are shown.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"Same as pg_stat_all_indexes , except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L277","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","type_oid":26,"description":"OID of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L277","type_evidence":{"expression":"I.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema this index is in","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L277","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-namespace.html","inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L277","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html","inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","type_oid":19,"description":"Name of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L277","type_evidence":{"expression":"I.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html","inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","type_oid":20,"description":"Number of index scans initiated on this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L277","type_evidence":{"expression":"pg_stat_get_numscans(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2992"}],"inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","type_oid":20,"description":"Number of index entries returned by scans on this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L277","type_evidence":{"expression":"pg_stat_get_tuples_returned(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_returned","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2994"}],"inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","type_oid":20,"description":"Number of live table rows fetched by simple index scans using this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L277","type_evidence":{"expression":"pg_stat_get_tuples_fetched(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2996"}],"inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L277","documentation_url":"https://www.postgresql.org/docs/9.0/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_0_23","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_stat_all_indexes","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.0/source/system_views.sql","source_column_count":8,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11036,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"Same as pg_stat_all_indexes , except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L436","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","type_oid":26,"description":"OID of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L436","type_evidence":{"expression":"I.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema this index is in","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L436","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html","inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L436","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html","inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","type_oid":19,"description":"Name of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L436","type_evidence":{"expression":"I.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html","inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","type_oid":20,"description":"Number of index scans initiated on this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L436","type_evidence":{"expression":"pg_stat_get_numscans(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2507"}],"inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","type_oid":20,"description":"Number of index entries returned by scans on this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L436","type_evidence":{"expression":"pg_stat_get_tuples_returned(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_returned","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2509"}],"inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","type_oid":20,"description":"Number of live table rows fetched by simple index scans using this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L436","type_evidence":{"expression":"pg_stat_get_tuples_fetched(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2511"}],"inherited_from":"pg_stat_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L436","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_stat_all_indexes","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":8,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11073,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Same as pg_stat_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":11142,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Same as pg_stat_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":11163,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Same as pg_stat_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":11260,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Same as pg_stat_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":11749,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Same as pg_stat_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":11774,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Same as pg_stat_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":11659,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Same as pg_stat_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":11727,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Same as pg_stat_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":12225,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"Same as pg_stat_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":12227,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"Same as pg_stat_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":12405,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"Same as pg_stat_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":12192,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"Same as pg_stat_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last scan on this index, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":9,"documentary_schema_source":"documentation+source-sql","relation_oid":12192,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"Same as pg_stat_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last scan on this index, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":9,"documentary_schema_source":"documentation+source-sql","relation_oid":12192,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"Same as pg_stat_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last scan on this index, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":9,"documentary_schema_source":"documentation+source-sql","relation_oid":12196,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"Same as pg_stat_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last scan on this index, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_read","type":"bigint","description":"Number of index entries returned by scans on this index","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live table rows fetched by simple index scans using this index","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","derived_from":"pg_stat_all_indexes","source_column_count":10,"documentary_schema_source":"documentation+source-sql","relation_oid":12210,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"15","to":"16","status":"changed","added_columns":[{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last scan on this index, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_user_tables","kind":"statistics","summary":"Same as pg_stat_all_tables, except that only user tables are shown.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"Same as pg_stat_all_tables , except that only user tables are shown.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of a table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L216","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema that this table is in","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L216","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-namespace.html","inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L216","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html","inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","type_oid":20,"description":"Number of sequential scans initiated on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L216","type_evidence":{"expression":"pg_stat_get_numscans(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2992"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","type_oid":20,"description":"Number of live rows fetched by sequential scans","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L216","type_evidence":{"expression":"pg_stat_get_tuples_returned(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_returned","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2994"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","type_oid":20,"description":"Number of index scans initiated on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L216","type_evidence":{"expression":"sum(pg_stat_get_numscans(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2992"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","type_oid":20,"description":"Number of live rows fetched by index scans","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L216","type_evidence":{"expression":"sum(pg_stat_get_tuples_fetched(I.indexrelid))::bigint + pg_stat_get_tuples_fetched(C.oid)","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2996"},{"name":"pg_stat_get_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2996"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","type_oid":20,"description":"Number of rows inserted","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L216","type_evidence":{"expression":"pg_stat_get_tuples_inserted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_inserted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L2998"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","type_oid":20,"description":"Number of rows updated","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L216","type_evidence":{"expression":"pg_stat_get_tuples_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3000"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","type_oid":20,"description":"Number of rows deleted","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L216","type_evidence":{"expression":"pg_stat_get_tuples_deleted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_deleted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3002"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","type_oid":20,"description":"Number of rows HOT updated (i.e., with no separate index update required)","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L216","type_evidence":{"expression":"pg_stat_get_tuples_hot_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_hot_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3004"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","type_oid":20,"description":"Estimated number of live rows","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L216","type_evidence":{"expression":"pg_stat_get_live_tuples(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_live_tuples","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3006"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","type_oid":20,"description":"Estimated number of dead rows","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L216","type_evidence":{"expression":"pg_stat_get_dead_tuples(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_dead_tuples","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3008"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL )","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L216","type_evidence":{"expression":"pg_stat_get_last_vacuum_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_vacuum_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3014"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was vacuumed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L216","type_evidence":{"expression":"pg_stat_get_last_autovacuum_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_autovacuum_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3016"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was manually analyzed","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L216","type_evidence":{"expression":"pg_stat_get_last_analyze_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_analyze_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3018"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was analyzed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L216","type_evidence":{"expression":"pg_stat_get_last_autoanalyze_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_autoanalyze_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3020"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L216","documentation_url":"https://www.postgresql.org/docs/9.0/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_0_23","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_stat_all_tables","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.0/source/system_views.sql","source_column_count":17,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11016,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"Same as pg_stat_all_tables , except that only user tables are shown.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of a table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema that this table is in","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html","inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html","inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","type_oid":20,"description":"Number of sequential scans initiated on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"pg_stat_get_numscans(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2507"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","type_oid":20,"description":"Number of live rows fetched by sequential scans","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"pg_stat_get_tuples_returned(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_returned","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2509"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","type_oid":20,"description":"Number of index scans initiated on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"sum(pg_stat_get_numscans(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2507"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","type_oid":20,"description":"Number of live rows fetched by index scans","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"sum(pg_stat_get_tuples_fetched(I.indexrelid))::bigint + pg_stat_get_tuples_fetched(C.oid)","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2511"},{"name":"pg_stat_get_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2511"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","type_oid":20,"description":"Number of rows inserted","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"pg_stat_get_tuples_inserted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_inserted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2513"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","type_oid":20,"description":"Number of rows updated","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"pg_stat_get_tuples_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2515"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","type_oid":20,"description":"Number of rows deleted","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"pg_stat_get_tuples_deleted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_deleted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2517"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","type_oid":20,"description":"Number of rows HOT updated (i.e., with no separate index update required)","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"pg_stat_get_tuples_hot_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_tuples_hot_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2519"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","type_oid":20,"description":"Estimated number of live rows","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"pg_stat_get_live_tuples(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_live_tuples","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2521"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","type_oid":20,"description":"Estimated number of dead rows","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"pg_stat_get_dead_tuples(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_dead_tuples","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2523"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL )","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"pg_stat_get_last_vacuum_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_vacuum_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2529"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was vacuumed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"pg_stat_get_last_autovacuum_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_autovacuum_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2531"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was manually analyzed","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"pg_stat_get_last_analyze_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_analyze_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2533"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","type_oid":1184,"description":"Last time at which this table was analyzed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"pg_stat_get_last_autoanalyze_time(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_last_autoanalyze_time","return_oid":1184,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2535"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","type_oid":20,"description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL )","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"pg_stat_get_vacuum_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_vacuum_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2537"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","type_oid":20,"description":"Number of times this table has been vacuumed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"pg_stat_get_autovacuum_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_autovacuum_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2539"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","type_oid":20,"description":"Number of times this table has been manually analyzed","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"pg_stat_get_analyze_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_analyze_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2541"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","type_oid":20,"description":"Number of times this table has been analyzed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"pg_stat_get_autoanalyze_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_autoanalyze_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2543"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_stat_all_tables","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":21,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11049,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Same as pg_stat_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":21,"documentary_schema_source":"documentation+source-sql","relation_oid":11118,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Same as pg_stat_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":21,"documentary_schema_source":"documentation+source-sql","relation_oid":11139,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Same as pg_stat_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":22,"documentary_schema_source":"documentation+source-sql","relation_oid":11236,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Same as pg_stat_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":22,"documentary_schema_source":"documentation+source-sql","relation_oid":11725,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Same as pg_stat_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":22,"documentary_schema_source":"documentation+source-sql","relation_oid":11750,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Same as pg_stat_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":22,"documentary_schema_source":"documentation+source-sql","relation_oid":11635,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Same as pg_stat_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":22,"documentary_schema_source":"documentation+source-sql","relation_oid":11703,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Same as pg_stat_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":22,"documentary_schema_source":"documentation+source-sql","relation_oid":12201,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"Same as pg_stat_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":23,"documentary_schema_source":"documentation+source-sql","relation_oid":12203,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"Same as pg_stat_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":23,"documentary_schema_source":"documentation+source-sql","relation_oid":12374,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"Same as pg_stat_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":23,"documentary_schema_source":"documentation+source-sql","relation_oid":12161,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"Same as pg_stat_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_seq_scan","type":"timestamp with time zone","description":"The time of the last sequential scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last index scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed","hidden":false,"type_oid":20,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":26,"documentary_schema_source":"documentation+source-sql","relation_oid":12161,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"Same as pg_stat_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_seq_scan","type":"timestamp with time zone","description":"The time of the last sequential scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last index scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed","hidden":false,"type_oid":20,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":26,"documentary_schema_source":"documentation+source-sql","relation_oid":12161,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"Same as pg_stat_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_seq_scan","type":"timestamp with time zone","description":"The time of the last sequential scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last index scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_vacuum_time","type":"double precision","description":"Total time this table has been manually vacuumed, in milliseconds (not counting VACUUM FULL). (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_autovacuum_time","type":"double precision","description":"Total time this table has been vacuumed by the autovacuum daemon, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_analyze_time","type":"double precision","description":"Total time this table has been manually analyzed, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_autoanalyze_time","type":"double precision","description":"Total time this table has been analyzed by the autovacuum daemon, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":30,"documentary_schema_source":"documentation+source-sql","relation_oid":12165,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"Same as pg_stat_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_seq_scan","type":"timestamp with time zone","description":"The time of the last sequential scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last index scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes.","hidden":false,"type_oid":20,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_live_tup","type":"bigint","description":"Estimated number of live rows","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_dead_tup","type":"bigint","description":"Estimated number of dead rows","hidden":false,"type_oid":20,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_vacuum","type":"timestamp with time zone","description":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":1184,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autovacuum","type":"timestamp with time zone","description":"Last time at which this table was vacuumed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_analyze","type":"timestamp with time zone","description":"Last time at which this table was manually analyzed","hidden":false,"type_oid":1184,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_autoanalyze","type":"timestamp with time zone","description":"Last time at which this table was analyzed by the autovacuum daemon","hidden":false,"type_oid":1184,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"vacuum_count","type":"bigint","description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)","hidden":false,"type_oid":20,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","description":"Number of times this table has been vacuumed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","description":"Number of times this table has been manually analyzed","hidden":false,"type_oid":20,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","description":"Number of times this table has been analyzed by the autovacuum daemon","hidden":false,"type_oid":20,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_vacuum_time","type":"double precision","description":"Total time this table has been manually vacuumed, in milliseconds (not counting VACUUM FULL). (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_autovacuum_time","type":"double precision","description":"Total time this table has been vacuumed by the autovacuum daemon, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_analyze_time","type":"double precision","description":"Total time this table has been manually analyzed, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_autoanalyze_time","type":"double precision","description":"Total time this table has been analyzed by the autovacuum daemon, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":31,"documentary_schema_source":"documentation+source-sql","relation_oid":12174,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[{"name":"vacuum_count","type":"bigint","type_oid":20,"description":"Number of times this table has been manually vacuumed (not counting VACUUM FULL )","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"pg_stat_get_vacuum_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_vacuum_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2537"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autovacuum_count","type":"bigint","type_oid":20,"description":"Number of times this table has been vacuumed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"pg_stat_get_autovacuum_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_autovacuum_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2539"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"analyze_count","type":"bigint","type_oid":20,"description":"Number of times this table has been manually analyzed","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"pg_stat_get_analyze_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_analyze_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2541"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"autoanalyze_count","type":"bigint","type_oid":20,"description":"Number of times this table has been analyzed by the autovacuum daemon","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L370","type_evidence":{"expression":"pg_stat_get_autoanalyze_count(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_autoanalyze_count","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2543"}],"inherited_from":"pg_stat_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"last_vacuum","from":"Last time at which this table was manually vacuumed (not counting VACUUM FULL )","to":"Last time at which this table was manually vacuumed (not counting VACUUM FULL)"},{"name":"vacuum_count","from":"Number of times this table has been manually vacuumed (not counting VACUUM FULL )","to":"Number of times this table has been manually vacuumed (not counting VACUUM FULL)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.3","to":"9.4","status":"changed","added_columns":[{"name":"n_mod_since_analyze","type":"bigint","description":"Estimated number of rows modified since this table was last analyzed","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"n_tup_upd","from":"Number of rows updated","to":"Number of rows updated (includes HOT updated rows)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"changed","added_columns":[{"name":"n_ins_since_vacuum","type":"bigint","description":"Estimated number of rows inserted since this table was last vacuumed","hidden":false,"type_oid":20,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"15","to":"16","status":"changed","added_columns":[{"name":"last_seq_scan","type":"timestamp with time zone","description":"The time of the last sequential scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_idx_scan","type":"timestamp with time zone","description":"The time of the last index scan on this table, based on the most recent transaction stop time","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates.","hidden":false,"type_oid":20,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"n_tup_del","from":"Number of rows deleted","to":"Total number of rows deleted"},{"name":"n_tup_hot_upd","from":"Number of rows HOT updated (i.e., with no separate index update required)","to":"Number of rows HOT updated. These are updates where no successor versions are required in indexes."},{"name":"n_tup_ins","from":"Number of rows inserted","to":"Total number of rows inserted"},{"name":"n_tup_upd","from":"Number of rows updated (includes HOT updated rows)","to":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"17","to":"18","status":"changed","added_columns":[{"name":"total_vacuum_time","type":"double precision","description":"Total time this table has been manually vacuumed, in milliseconds (not counting VACUUM FULL). (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_autovacuum_time","type":"double precision","description":"Total time this table has been vacuumed by the autovacuum daemon, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_analyze_time","type":"double precision","description":"Total time this table has been manually analyzed, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_autoanalyze_time","type":"double precision","description":"Total time this table has been analyzed by the autovacuum daemon, in milliseconds. (This includes the time spent sleeping due to cost-based delays.)","hidden":false,"type_oid":701,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"n_ins_since_vacuum","from":"Estimated number of rows inserted since this table was last vacuumed","to":"Estimated number of rows inserted since this table was last vacuumed (not counting VACUUM FULL)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_wal","kind":"statistics","summary":"One row only, showing statistics about WAL activity. See pg_stat_wal for details.","first_version":"14","last_version":"19","versions":{"14":{"description":"The pg_stat_wal view will always have a single row, containing data about WAL activity of the cluster.","columns":[{"name":"wal_records","type":"bigint","description":"Total number of WAL records generated","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_fpi","type":"bigint","description":"Total number of WAL full page images generated","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_bytes","type":"numeric","description":"Total amount of WAL generated in bytes","hidden":false,"type_oid":1700,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_buffers_full","type":"bigint","description":"Number of times WAL data was written to disk because WAL buffers became full","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_write","type":"bigint","description":"Number of times WAL buffers were written out to disk via XLogWrite request. See Section 30.5 for more information about the internal WAL function XLogWrite.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_sync","type":"bigint","description":"Number of times WAL files were synced to disk via issue_xlog_fsync request (if fsync is on and wal_sync_method is either fdatasync, fsync or fsync_writethrough, otherwise zero). See Section 30.5 for more information about the internal WAL function issue_xlog_fsync.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_write_time","type":"double precision","description":"Total amount of time spent writing WAL buffers to disk via XLogWrite request, in milliseconds (if track_wal_io_timing is enabled, otherwise zero). This includes the sync time when wal_sync_method is either open_datasync or open_sync.","hidden":false,"type_oid":701,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_sync_time","type":"double precision","description":"Total amount of time spent syncing WAL files to disk via issue_xlog_fsync request, in milliseconds (if track_wal_io_timing is enabled, fsync is on, and wal_sync_method is either fdatasync, fsync or fsync_writethrough, otherwise zero).","hidden":false,"type_oid":701,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html#PG-STAT-WAL-VIEW","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12502,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_stat_wal view will always have a single row, containing data about WAL activity of the cluster.","columns":[{"name":"wal_records","type":"bigint","description":"Total number of WAL records generated","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_fpi","type":"bigint","description":"Total number of WAL full page images generated","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_bytes","type":"numeric","description":"Total amount of WAL generated in bytes","hidden":false,"type_oid":1700,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_buffers_full","type":"bigint","description":"Number of times WAL data was written to disk because WAL buffers became full","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_write","type":"bigint","description":"Number of times WAL buffers were written out to disk via XLogWrite request. See Section 30.5 for more information about the internal WAL function XLogWrite.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_sync","type":"bigint","description":"Number of times WAL files were synced to disk via issue_xlog_fsync request (if fsync is on and wal_sync_method is either fdatasync, fsync or fsync_writethrough, otherwise zero). See Section 30.5 for more information about the internal WAL function issue_xlog_fsync.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_write_time","type":"double precision","description":"Total amount of time spent writing WAL buffers to disk via XLogWrite request, in milliseconds (if track_wal_io_timing is enabled, otherwise zero). This includes the sync time when wal_sync_method is either open_datasync or open_sync.","hidden":false,"type_oid":701,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_sync_time","type":"double precision","description":"Total amount of time spent syncing WAL files to disk via issue_xlog_fsync request, in milliseconds (if track_wal_io_timing is enabled, fsync is on, and wal_sync_method is either fdatasync, fsync or fsync_writethrough, otherwise zero).","hidden":false,"type_oid":701,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STAT-WAL-VIEW","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12293,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_stat_wal view will always have a single row, containing data about WAL activity of the cluster.","columns":[{"name":"wal_records","type":"bigint","description":"Total number of WAL records generated","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_fpi","type":"bigint","description":"Total number of WAL full page images generated","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_bytes","type":"numeric","description":"Total amount of WAL generated in bytes","hidden":false,"type_oid":1700,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_buffers_full","type":"bigint","description":"Number of times WAL data was written to disk because WAL buffers became full","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_write","type":"bigint","description":"Number of times WAL buffers were written out to disk via XLogWrite request. See Section 30.5 for more information about the internal WAL function XLogWrite.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_sync","type":"bigint","description":"Number of times WAL files were synced to disk via issue_xlog_fsync request (if fsync is on and wal_sync_method is either fdatasync, fsync or fsync_writethrough, otherwise zero). See Section 30.5 for more information about the internal WAL function issue_xlog_fsync.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_write_time","type":"double precision","description":"Total amount of time spent writing WAL buffers to disk via XLogWrite request, in milliseconds (if track_wal_io_timing is enabled, otherwise zero). This includes the sync time when wal_sync_method is either open_datasync or open_sync.","hidden":false,"type_oid":701,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_sync_time","type":"double precision","description":"Total amount of time spent syncing WAL files to disk via issue_xlog_fsync request, in milliseconds (if track_wal_io_timing is enabled, fsync is on, and wal_sync_method is either fdatasync, fsync or fsync_writethrough, otherwise zero).","hidden":false,"type_oid":701,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STAT-WAL-VIEW","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12297,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_stat_wal view will always have a single row, containing data about WAL activity of the cluster.","columns":[{"name":"wal_records","type":"bigint","description":"Total number of WAL records generated","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_fpi","type":"bigint","description":"Total number of WAL full page images generated","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_bytes","type":"numeric","description":"Total amount of WAL generated in bytes","hidden":false,"type_oid":1700,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_buffers_full","type":"bigint","description":"Number of times WAL data was written to disk because WAL buffers became full","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_write","type":"bigint","description":"Number of times WAL buffers were written out to disk via XLogWrite request. See Section 28.5 for more information about the internal WAL function XLogWrite.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_sync","type":"bigint","description":"Number of times WAL files were synced to disk via issue_xlog_fsync request (if fsync is on and wal_sync_method is either fdatasync, fsync or fsync_writethrough, otherwise zero). See Section 28.5 for more information about the internal WAL function issue_xlog_fsync.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_write_time","type":"double precision","description":"Total amount of time spent writing WAL buffers to disk via XLogWrite request, in milliseconds (if track_wal_io_timing is enabled, otherwise zero). This includes the sync time when wal_sync_method is either open_datasync or open_sync.","hidden":false,"type_oid":701,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_sync_time","type":"double precision","description":"Total amount of time spent syncing WAL files to disk via issue_xlog_fsync request, in milliseconds (if track_wal_io_timing is enabled, fsync is on, and wal_sync_method is either fdatasync, fsync or fsync_writethrough, otherwise zero).","hidden":false,"type_oid":701,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STAT-WAL-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":12301,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_stat_wal view will always have a single row, containing data about WAL activity of the cluster.","columns":[{"name":"wal_records","type":"bigint","description":"Total number of WAL records generated","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_fpi","type":"bigint","description":"Total number of WAL full page images generated","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_bytes","type":"numeric","description":"Total amount of WAL generated in bytes","hidden":false,"type_oid":1700,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_buffers_full","type":"bigint","description":"Number of times WAL data was written to disk because WAL buffers became full","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STAT-WAL-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":12305,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_stat_wal view will always have a single row, containing data about WAL activity of the cluster.","columns":[{"name":"wal_records","type":"bigint","description":"Total number of WAL records generated","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_fpi","type":"bigint","description":"Total number of WAL full page images generated","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_bytes","type":"numeric","description":"Total amount of WAL generated in bytes","hidden":false,"type_oid":1700,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_fpi_bytes","type":"numeric","description":"Total amount of WAL full page images in bytes","hidden":false,"type_oid":1700,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_buffers_full","type":"bigint","description":"Number of times WAL data was written to disk because WAL buffers became full","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-WAL-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":12327,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"13","to":"14","status":"added","added_columns":[{"name":"wal_records","type":"bigint","description":"Total number of WAL records generated","hidden":false,"type_oid":20,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_fpi","type":"bigint","description":"Total number of WAL full page images generated","hidden":false,"type_oid":20,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_bytes","type":"numeric","description":"Total amount of WAL generated in bytes","hidden":false,"type_oid":1700,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_buffers_full","type":"bigint","description":"Number of times WAL data was written to disk because WAL buffers became full","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_write","type":"bigint","description":"Number of times WAL buffers were written out to disk via XLogWrite request. See Section 30.5 for more information about the internal WAL function XLogWrite.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_sync","type":"bigint","description":"Number of times WAL files were synced to disk via issue_xlog_fsync request (if fsync is on and wal_sync_method is either fdatasync, fsync or fsync_writethrough, otherwise zero). See Section 30.5 for more information about the internal WAL function issue_xlog_fsync.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_write_time","type":"double precision","description":"Total amount of time spent writing WAL buffers to disk via XLogWrite request, in milliseconds (if track_wal_io_timing is enabled, otherwise zero). This includes the sync time when wal_sync_method is either open_datasync or open_sync.","hidden":false,"type_oid":701,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_sync_time","type":"double precision","description":"Total amount of time spent syncing WAL files to disk via issue_xlog_fsync request, in milliseconds (if track_wal_io_timing is enabled, fsync is on, and wal_sync_method is either fdatasync, fsync or fsync_writethrough, otherwise zero).","hidden":false,"type_oid":701,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"wal_sync","from":"Number of times WAL files were synced to disk via issue_xlog_fsync request (if fsync is on and wal_sync_method is either fdatasync, fsync or fsync_writethrough, otherwise zero). See Section 30.5 for more information about the internal WAL function issue_xlog_fsync.","to":"Number of times WAL files were synced to disk via issue_xlog_fsync request (if fsync is on and wal_sync_method is either fdatasync, fsync or fsync_writethrough, otherwise zero). See Section 28.5 for more information about the internal WAL function issue_xlog_fsync."},{"name":"wal_write","from":"Number of times WAL buffers were written out to disk via XLogWrite request. See Section 30.5 for more information about the internal WAL function XLogWrite.","to":"Number of times WAL buffers were written out to disk via XLogWrite request. See Section 28.5 for more information about the internal WAL function XLogWrite."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"17","to":"18","status":"changed","added_columns":[],"removed_columns":[{"name":"wal_write","type":"bigint","description":"Number of times WAL buffers were written out to disk via XLogWrite request. See Section 28.5 for more information about the internal WAL function XLogWrite.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_sync","type":"bigint","description":"Number of times WAL files were synced to disk via issue_xlog_fsync request (if fsync is on and wal_sync_method is either fdatasync, fsync or fsync_writethrough, otherwise zero). See Section 28.5 for more information about the internal WAL function issue_xlog_fsync.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_write_time","type":"double precision","description":"Total amount of time spent writing WAL buffers to disk via XLogWrite request, in milliseconds (if track_wal_io_timing is enabled, otherwise zero). This includes the sync time when wal_sync_method is either open_datasync or open_sync.","hidden":false,"type_oid":701,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"wal_sync_time","type":"double precision","description":"Total amount of time spent syncing WAL files to disk via issue_xlog_fsync request, in milliseconds (if track_wal_io_timing is enabled, fsync is on, and wal_sync_method is either fdatasync, fsync or fsync_writethrough, otherwise zero).","hidden":false,"type_oid":701,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"wal_fpi_bytes","type":"numeric","description":"Total amount of WAL full page images in bytes","hidden":false,"type_oid":1700,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_wal_receiver","kind":"statistics","summary":"Only one row, showing statistics about the WAL receiver from that receiver's connected server. See pg_stat_wal_receiver for details.","first_version":"9.6","last_version":"19","versions":{"9.6":{"description":"Several predefined views, listed in Table 28-1, are available to show the current state of the system. There are also several other views, listed in Table 28-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"pid","type":"integer","description":"Process ID of the WAL receiver process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"status","type":"text","description":"Activity status of the WAL receiver process","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_lsn","type":"pg_lsn","description":"First transaction log position used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_tli","type":"integer","description":"First timeline number used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_lsn","type":"pg_lsn","description":"Last transaction log position already received and flushed to disk, the initial value of this field being the first log position used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_tli","type":"integer","description":"Timeline number of last transaction log position received and flushed to disk, the initial value of this field being the timeline number of the first log position used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last transaction log position reported to origin WAL sender","hidden":false,"type_oid":3220,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last transaction log position reported to origin WAL sender","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_name","type":"text","description":"Replication slot name used by this WAL receiver","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conninfo","type":"text","description":"Connection string used by this WAL receiver, with security-sensitive fields obfuscated.","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":11805,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"pid","type":"integer","description":"Process ID of the WAL receiver process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"status","type":"text","description":"Activity status of the WAL receiver process","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_lsn","type":"pg_lsn","description":"First write-ahead log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_tli","type":"integer","description":"First timeline number used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_lsn","type":"pg_lsn","description":"Last write-ahead log location already received and flushed to disk, the initial value of this field being the first log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_tli","type":"integer","description":"Timeline number of last write-ahead log location received and flushed to disk, the initial value of this field being the timeline number of the first log location used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":3220,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_name","type":"text","description":"Replication slot name used by this WAL receiver","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conninfo","type":"text","description":"Connection string used by this WAL receiver, with security-sensitive fields obfuscated.","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html#PG-STAT-WAL-RECEIVER-VIEW","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":11690,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"pid","type":"integer","description":"Process ID of the WAL receiver process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"status","type":"text","description":"Activity status of the WAL receiver process","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_lsn","type":"pg_lsn","description":"First write-ahead log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_tli","type":"integer","description":"First timeline number used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_lsn","type":"pg_lsn","description":"Last write-ahead log location already received and flushed to disk, the initial value of this field being the first log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_tli","type":"integer","description":"Timeline number of last write-ahead log location received and flushed to disk, the initial value of this field being the timeline number of the first log location used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":3220,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_name","type":"text","description":"Replication slot name used by this WAL receiver","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sender_host","type":"text","description":"Host of the PostgreSQL instance this WAL receiver is connected to. This can be a host name, an IP address, or a directory path if the connection is via Unix socket. (The path case can be distinguished because it will always be an absolute path, beginning with /.)","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sender_port","type":"integer","description":"Port number of the PostgreSQL instance this WAL receiver is connected to.","hidden":false,"type_oid":23,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conninfo","type":"text","description":"Connection string used by this WAL receiver, with security-sensitive fields obfuscated.","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html#PG-STAT-WAL-RECEIVER-VIEW","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","source_column_count":14,"documentary_schema_source":"documentation","relation_oid":11758,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Several predefined views, listed in Table 27.1, are available to show the current state of the system. There are also several other views, listed in Table 27.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nSome of the information in the dynamic statistics views shown in Table 27.1 is security restricted. Ordinary users can only see all the information about their own sessions (sessions belonging to a role that they are a member of). In rows about other sessions, many columns will be null. Note, however, that the existence of a session and its general properties such as its sessions user and database are visible to all users. Superusers and members of the built-in role pg_read_all_stats (see also Section 21.5) can see all the information about all sessions.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, plus one for the shared objects, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"pid","type":"integer","description":"Process ID of the WAL receiver process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"status","type":"text","description":"Activity status of the WAL receiver process","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_lsn","type":"pg_lsn","description":"First write-ahead log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_tli","type":"integer","description":"First timeline number used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_lsn","type":"pg_lsn","description":"Last write-ahead log location already received and flushed to disk, the initial value of this field being the first log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_tli","type":"integer","description":"Timeline number of last write-ahead log location received and flushed to disk, the initial value of this field being the timeline number of the first log location used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":3220,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_name","type":"text","description":"Replication slot name used by this WAL receiver","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sender_host","type":"text","description":"Host of the PostgreSQL instance this WAL receiver is connected to. This can be a host name, an IP address, or a directory path if the connection is via Unix socket. (The path case can be distinguished because it will always be an absolute path, beginning with /.)","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sender_port","type":"integer","description":"Port number of the PostgreSQL instance this WAL receiver is connected to.","hidden":false,"type_oid":23,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conninfo","type":"text","description":"Connection string used by this WAL receiver, with security-sensitive fields obfuscated.","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html#PG-STAT-WAL-RECEIVER-VIEW","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","source_column_count":14,"documentary_schema_source":"documentation","relation_oid":12256,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.","columns":[{"name":"pid","type":"integer","description":"Process ID of the WAL receiver process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"status","type":"text","description":"Activity status of the WAL receiver process","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_lsn","type":"pg_lsn","description":"First write-ahead log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_tli","type":"integer","description":"First timeline number used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"written_lsn","type":"pg_lsn","description":"Last write-ahead log location already received and written to disk, but not flushed. This should not be used for data integrity checks.","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flushed_lsn","type":"pg_lsn","description":"Last write-ahead log location already received and flushed to disk, the initial value of this field being the first log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_tli","type":"integer","description":"Timeline number of last write-ahead log location received and flushed to disk, the initial value of this field being the timeline number of the first log location used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":3220,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_name","type":"text","description":"Replication slot name used by this WAL receiver","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sender_host","type":"text","description":"Host of the PostgreSQL instance this WAL receiver is connected to. This can be a host name, an IP address, or a directory path if the connection is via Unix socket. (The path case can be distinguished because it will always be an absolute path, beginning with /.)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sender_port","type":"integer","description":"Port number of the PostgreSQL instance this WAL receiver is connected to.","hidden":false,"type_oid":23,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conninfo","type":"text","description":"Connection string used by this WAL receiver, with security-sensitive fields obfuscated.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html#PG-STAT-WAL-RECEIVER-VIEW","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":12261,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.","columns":[{"name":"pid","type":"integer","description":"Process ID of the WAL receiver process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"status","type":"text","description":"Activity status of the WAL receiver process","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_lsn","type":"pg_lsn","description":"First write-ahead log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_tli","type":"integer","description":"First timeline number used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"written_lsn","type":"pg_lsn","description":"Last write-ahead log location already received and written to disk, but not flushed. This should not be used for data integrity checks.","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flushed_lsn","type":"pg_lsn","description":"Last write-ahead log location already received and flushed to disk, the initial value of this field being the first log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_tli","type":"integer","description":"Timeline number of last write-ahead log location received and flushed to disk, the initial value of this field being the timeline number of the first log location used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":3220,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_name","type":"text","description":"Replication slot name used by this WAL receiver","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sender_host","type":"text","description":"Host of the PostgreSQL instance this WAL receiver is connected to. This can be a host name, an IP address, or a directory path if the connection is via Unix socket. (The path case can be distinguished because it will always be an absolute path, beginning with /.)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sender_port","type":"integer","description":"Port number of the PostgreSQL instance this WAL receiver is connected to.","hidden":false,"type_oid":23,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conninfo","type":"text","description":"Connection string used by this WAL receiver, with security-sensitive fields obfuscated.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html#PG-STAT-WAL-RECEIVER-VIEW","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":12449,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.","columns":[{"name":"pid","type":"integer","description":"Process ID of the WAL receiver process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"status","type":"text","description":"Activity status of the WAL receiver process","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_lsn","type":"pg_lsn","description":"First write-ahead log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_tli","type":"integer","description":"First timeline number used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"written_lsn","type":"pg_lsn","description":"Last write-ahead log location already received and written to disk, but not flushed. This should not be used for data integrity checks.","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flushed_lsn","type":"pg_lsn","description":"Last write-ahead log location already received and flushed to disk, the initial value of this field being the first log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_tli","type":"integer","description":"Timeline number of last write-ahead log location received and flushed to disk, the initial value of this field being the timeline number of the first log location used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":3220,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_name","type":"text","description":"Replication slot name used by this WAL receiver","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sender_host","type":"text","description":"Host of the PostgreSQL instance this WAL receiver is connected to. This can be a host name, an IP address, or a directory path if the connection is via Unix socket. (The path case can be distinguished because it will always be an absolute path, beginning with /.)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sender_port","type":"integer","description":"Port number of the PostgreSQL instance this WAL receiver is connected to.","hidden":false,"type_oid":23,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conninfo","type":"text","description":"Connection string used by this WAL receiver, with security-sensitive fields obfuscated.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STAT-WAL-RECEIVER-VIEW","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":12236,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.","columns":[{"name":"pid","type":"integer","description":"Process ID of the WAL receiver process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"status","type":"text","description":"Activity status of the WAL receiver process","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_lsn","type":"pg_lsn","description":"First write-ahead log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_tli","type":"integer","description":"First timeline number used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"written_lsn","type":"pg_lsn","description":"Last write-ahead log location already received and written to disk, but not flushed. This should not be used for data integrity checks.","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flushed_lsn","type":"pg_lsn","description":"Last write-ahead log location already received and flushed to disk, the initial value of this field being the first log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_tli","type":"integer","description":"Timeline number of last write-ahead log location received and flushed to disk, the initial value of this field being the timeline number of the first log location used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":3220,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_name","type":"text","description":"Replication slot name used by this WAL receiver","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sender_host","type":"text","description":"Host of the PostgreSQL instance this WAL receiver is connected to. This can be a host name, an IP address, or a directory path if the connection is via Unix socket. (The path case can be distinguished because it will always be an absolute path, beginning with /.)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sender_port","type":"integer","description":"Port number of the PostgreSQL instance this WAL receiver is connected to.","hidden":false,"type_oid":23,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conninfo","type":"text","description":"Connection string used by this WAL receiver, with security-sensitive fields obfuscated.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STAT-WAL-RECEIVER-VIEW","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":12236,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.","columns":[{"name":"pid","type":"integer","description":"Process ID of the WAL receiver process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"status","type":"text","description":"Activity status of the WAL receiver process","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_lsn","type":"pg_lsn","description":"First write-ahead log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_tli","type":"integer","description":"First timeline number used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"written_lsn","type":"pg_lsn","description":"Last write-ahead log location already received and written to disk, but not flushed. This should not be used for data integrity checks.","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flushed_lsn","type":"pg_lsn","description":"Last write-ahead log location already received and flushed to disk, the initial value of this field being the first log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_tli","type":"integer","description":"Timeline number of last write-ahead log location received and flushed to disk, the initial value of this field being the timeline number of the first log location used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":3220,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_name","type":"text","description":"Replication slot name used by this WAL receiver","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sender_host","type":"text","description":"Host of the PostgreSQL instance this WAL receiver is connected to. This can be a host name, an IP address, or a directory path if the connection is via Unix socket. (The path case can be distinguished because it will always be an absolute path, beginning with /.)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sender_port","type":"integer","description":"Port number of the PostgreSQL instance this WAL receiver is connected to.","hidden":false,"type_oid":23,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conninfo","type":"text","description":"Connection string used by this WAL receiver, with security-sensitive fields obfuscated.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STAT-WAL-RECEIVER-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":12236,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.","columns":[{"name":"pid","type":"integer","description":"Process ID of the WAL receiver process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"status","type":"text","description":"Activity status of the WAL receiver process","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_lsn","type":"pg_lsn","description":"First write-ahead log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_tli","type":"integer","description":"First timeline number used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"written_lsn","type":"pg_lsn","description":"Last write-ahead log location already received and written to disk, but not flushed. This should not be used for data integrity checks.","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flushed_lsn","type":"pg_lsn","description":"Last write-ahead log location already received and flushed to disk, the initial value of this field being the first log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_tli","type":"integer","description":"Timeline number of last write-ahead log location received and flushed to disk, the initial value of this field being the timeline number of the first log location used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":3220,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_name","type":"text","description":"Replication slot name used by this WAL receiver","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sender_host","type":"text","description":"Host of the PostgreSQL instance this WAL receiver is connected to. This can be a host name, an IP address, or a directory path if the connection is via Unix socket. (The path case can be distinguished because it will always be an absolute path, beginning with /.)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sender_port","type":"integer","description":"Port number of the PostgreSQL instance this WAL receiver is connected to.","hidden":false,"type_oid":23,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conninfo","type":"text","description":"Connection string used by this WAL receiver, with security-sensitive fields obfuscated.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STAT-WAL-RECEIVER-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":12240,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.","columns":[{"name":"pid","type":"integer","description":"Process ID of the WAL receiver process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"status","type":"text","description":"Activity status of the WAL receiver process. Possible values are:","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_lsn","type":"pg_lsn","description":"First write-ahead log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_tli","type":"integer","description":"First timeline number used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"written_lsn","type":"pg_lsn","description":"Last write-ahead log location already received and written to disk, but not flushed. This should not be used for data integrity checks.","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flushed_lsn","type":"pg_lsn","description":"Last write-ahead log location already received and flushed to disk, the initial value of this field being the first log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_tli","type":"integer","description":"Timeline number of last write-ahead log location received and flushed to disk, the initial value of this field being the timeline number of the first log location used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":3220,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last write-ahead log location reported to origin WAL sender","hidden":false,"type_oid":1184,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_name","type":"text","description":"Replication slot name used by this WAL receiver","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sender_host","type":"text","description":"Host of the PostgreSQL instance this WAL receiver is connected to. This can be a host name, an IP address, or a directory path if the connection is via Unix socket. (The path case can be distinguished because it will always be an absolute path, beginning with /.)","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sender_port","type":"integer","description":"Port number of the PostgreSQL instance this WAL receiver is connected to.","hidden":false,"type_oid":23,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conninfo","type":"text","description":"Connection string used by this WAL receiver, with security-sensitive fields obfuscated.","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STAT-WAL-RECEIVER-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":15,"documentary_schema_source":"documentation","relation_oid":12258,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.5","to":"9.6","status":"added","added_columns":[{"name":"pid","type":"integer","description":"Process ID of the WAL receiver process","hidden":false,"type_oid":23,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"status","type":"text","description":"Activity status of the WAL receiver process","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_lsn","type":"pg_lsn","description":"First transaction log position used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"receive_start_tli","type":"integer","description":"First timeline number used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_lsn","type":"pg_lsn","description":"Last transaction log position already received and flushed to disk, the initial value of this field being the first log position used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"received_tli","type":"integer","description":"Timeline number of last transaction log position received and flushed to disk, the initial value of this field being the timeline number of the first log position used when WAL receiver is started","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_send_time","type":"timestamp with time zone","description":"Send time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"last_msg_receipt_time","type":"timestamp with time zone","description":"Receipt time of last message received from origin WAL sender","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_lsn","type":"pg_lsn","description":"Last transaction log position reported to origin WAL sender","hidden":false,"type_oid":3220,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"latest_end_time","type":"timestamp with time zone","description":"Time of last transaction log position reported to origin WAL sender","hidden":false,"type_oid":1184,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"slot_name","type":"text","description":"Replication slot name used by this WAL receiver","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"conninfo","type":"text","description":"Connection string used by this WAL receiver, with security-sensitive fields obfuscated.","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"latest_end_lsn","from":"Last transaction log position reported to origin WAL sender","to":"Last write-ahead log location reported to origin WAL sender"},{"name":"latest_end_time","from":"Time of last transaction log position reported to origin WAL sender","to":"Time of last write-ahead log location reported to origin WAL sender"},{"name":"receive_start_lsn","from":"First transaction log position used when WAL receiver is started","to":"First write-ahead log location used when WAL receiver is started"},{"name":"received_lsn","from":"Last transaction log position already received and flushed to disk, the initial value of this field being the first log position used when WAL receiver is started","to":"Last write-ahead log location already received and flushed to disk, the initial value of this field being the first log location used when WAL receiver is started"},{"name":"received_tli","from":"Timeline number of last transaction log position received and flushed to disk, the initial value of this field being the timeline number of the first log position used when WAL receiver is started","to":"Timeline number of last write-ahead log location received and flushed to disk, the initial value of this field being the timeline number of the first log location used when WAL receiver is started"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"10","to":"11","status":"changed","added_columns":[{"name":"sender_host","type":"text","description":"Host of the PostgreSQL instance this WAL receiver is connected to. This can be a host name, an IP address, or a directory path if the connection is via Unix socket. (The path case can be distinguished because it will always be an absolute path, beginning with /.)","hidden":false,"type_oid":25,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"sender_port","type":"integer","description":"Port number of the PostgreSQL instance this WAL receiver is connected to.","hidden":false,"type_oid":23,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"changed","added_columns":[{"name":"written_lsn","type":"pg_lsn","description":"Last write-ahead log location already received and written to disk, but not flushed. This should not be used for data integrity checks.","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"flushed_lsn","type":"pg_lsn","description":"Last write-ahead log location already received and flushed to disk, the initial value of this field being the first log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[{"name":"received_lsn","type":"pg_lsn","description":"Last write-ahead log location already received and flushed to disk, the initial value of this field being the first log location used when WAL receiver is started","hidden":false,"type_oid":3220,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"status","from":"Activity status of the WAL receiver process","to":"Activity status of the WAL receiver process. Possible values are:"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_stat_xact_all_tables","kind":"statistics","summary":"Similar to pg_stat_all_tables, but counts actions taken so far within the current transaction (which are not yet included in pg_stat_all_tables and related views). The columns for numbers of live and dead rows and vacuum and analyze actions are not present in this view.","first_version":"9.1","last_version":"19","versions":{"9.1":{"description":"Similar to pg_stat_all_tables , but counts actions taken so far within the current transaction (which are not yet included in pg_stat_all_tables and related views). The columns for numbers of live and dead rows and vacuum and analyze actions are not present in this view.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid"},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html"},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html"},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"pg_stat_get_xact_numscans(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2633"}]},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"pg_stat_get_xact_tuples_returned(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_returned","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2635"}]},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"sum(pg_stat_get_xact_numscans(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_xact_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2633"}]},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"sum(pg_stat_get_xact_tuples_fetched(I.indexrelid))::bigint + pg_stat_get_xact_tuples_fetched(C.oid)","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_xact_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2637"},{"name":"pg_stat_get_xact_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2637"}]},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"pg_stat_get_xact_tuples_inserted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_inserted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2639"}]},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"pg_stat_get_xact_tuples_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2641"}]},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"pg_stat_get_xact_tuples_deleted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_deleted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2643"}]},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"pg_stat_get_xact_tuples_hot_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_hot_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2645"}]},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":11,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11038,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Similar to pg_stat_all_tables, but counts actions taken so far within the current transaction (which are not yet included in pg_stat_all_tables and related views). The columns for numbers of live and dead rows and vacuum and analyze actions are not present in this view.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11107,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Similar to pg_stat_all_tables, but counts actions taken so far within the current transaction (which are not yet included in pg_stat_all_tables and related views). The columns for numbers of live and dead rows and vacuum and analyze actions are not present in this view.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11128,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Similar to pg_stat_all_tables, but counts actions taken so far within the current transaction (which are not yet included in pg_stat_all_tables and related views). The columns for numbers of live and dead rows and vacuum and analyze actions are not present in this view.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11225,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Similar to pg_stat_all_tables, but counts actions taken so far within the current transaction (which are not yet included in pg_stat_all_tables and related views). The columns for numbers of live and dead rows and vacuum and analyze actions are not present in this view.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11714,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Similar to pg_stat_all_tables, but counts actions taken so far within the current transaction (which are not yet included in pg_stat_all_tables and related views). The columns for numbers of live and dead rows and vacuum and analyze actions are not present in this view.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11739,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Similar to pg_stat_all_tables, but counts actions taken so far within the current transaction (which are not yet included in pg_stat_all_tables and related views). The columns for numbers of live and dead rows and vacuum and analyze actions are not present in this view.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11624,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Similar to pg_stat_all_tables, but counts actions taken so far within the current transaction (which are not yet included in pg_stat_all_tables and related views). The columns for numbers of live and dead rows and vacuum and analyze actions are not present in this view.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11692,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Similar to pg_stat_all_tables, but counts actions taken so far within the current transaction (which are not yet included in pg_stat_all_tables and related views). The columns for numbers of live and dead rows and vacuum and analyze actions are not present in this view.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12190,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"Similar to pg_stat_all_tables, but counts actions taken so far within the current transaction (which are not yet included in pg_stat_all_tables and related views). The columns for numbers of live and dead rows and vacuum and analyze actions are not present in this view.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12192,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"Similar to pg_stat_all_tables, but counts actions taken so far within the current transaction (which are not yet included in pg_stat_all_tables and related views). The columns for numbers of live and dead rows and vacuum and analyze actions are not present in this view.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12360,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"Similar to pg_stat_all_tables, but counts actions taken so far within the current transaction (which are not yet included in pg_stat_all_tables and related views). The columns for numbers of live and dead rows and vacuum and analyze actions are not present in this view.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12147,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"Similar to pg_stat_all_tables, but counts actions taken so far within the current transaction (which are not yet included in pg_stat_all_tables and related views). The columns for numbers of live and dead rows and vacuum and analyze actions are not present in this view.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":12,"documentary_schema_source":"documentation+source-sql","relation_oid":12147,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"Similar to pg_stat_all_tables, but counts actions taken so far within the current transaction (which are not yet included in pg_stat_all_tables and related views). The columns for numbers of live and dead rows and vacuum and analyze actions are not present in this view.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":12,"documentary_schema_source":"documentation+source-sql","relation_oid":12147,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"Similar to pg_stat_all_tables, but counts actions taken so far within the current transaction (which are not yet included in pg_stat_all_tables and related views). The columns for numbers of live and dead rows and vacuum and analyze actions are not present in this view.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":12,"documentary_schema_source":"documentation+source-sql","relation_oid":12151,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"Similar to pg_stat_all_tables, but counts actions taken so far within the current transaction (which are not yet included in pg_stat_all_tables and related views). The columns for numbers of live and dead rows and vacuum and analyze actions are not present in this view.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","derived_from":"pg_stat_all_tables","source_column_count":12,"documentary_schema_source":"documentation+source-sql","relation_oid":12160,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"added","added_columns":[{"name":"relid","type":"oid","type_oid":26,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid"},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html"},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html"},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"pg_stat_get_xact_numscans(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2633"}]},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"pg_stat_get_xact_tuples_returned(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_returned","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2635"}]},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"sum(pg_stat_get_xact_numscans(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_xact_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2633"}]},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"sum(pg_stat_get_xact_tuples_fetched(I.indexrelid))::bigint + pg_stat_get_xact_tuples_fetched(C.oid)","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_xact_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2637"},{"name":"pg_stat_get_xact_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2637"}]},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"pg_stat_get_xact_tuples_inserted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_inserted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2639"}]},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"pg_stat_get_xact_tuples_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2641"}]},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"pg_stat_get_xact_tuples_deleted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_deleted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2643"}]},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L340","type_evidence":{"expression":"pg_stat_get_xact_tuples_hot_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_hot_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2645"}]},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"idx_scan","from":"","to":"Number of index scans initiated on this table This view reports counters for the current transaction."},{"name":"idx_tup_fetch","from":"","to":"Number of live rows fetched by index scans This view reports counters for the current transaction."},{"name":"n_tup_del","from":"","to":"Number of rows deleted This view reports counters for the current transaction."},{"name":"n_tup_hot_upd","from":"","to":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction."},{"name":"n_tup_ins","from":"","to":"Number of rows inserted This view reports counters for the current transaction."},{"name":"n_tup_upd","from":"","to":"Number of rows updated This view reports counters for the current transaction."},{"name":"relid","from":"","to":"OID of a table"},{"name":"relname","from":"","to":"Name of this table"},{"name":"schemaname","from":"","to":"Name of the schema that this table is in"},{"name":"seq_scan","from":"","to":"Number of sequential scans initiated on this table This view reports counters for the current transaction."},{"name":"seq_tup_read","from":"","to":"Number of live rows fetched by sequential scans This view reports counters for the current transaction."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"n_tup_upd","from":"Number of rows updated This view reports counters for the current transaction.","to":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"15","to":"16","status":"changed","added_columns":[{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"n_tup_del","from":"Number of rows deleted This view reports counters for the current transaction.","to":"Total number of rows deleted This view reports counters for the current transaction."},{"name":"n_tup_hot_upd","from":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","to":"Number of rows HOT updated. These are updates where no successor versions are required in indexes. This view reports counters for the current transaction."},{"name":"n_tup_ins","from":"Number of rows inserted This view reports counters for the current transaction.","to":"Total number of rows inserted This view reports counters for the current transaction."},{"name":"n_tup_upd","from":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","to":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.) This view reports counters for the current transaction."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_xact_sys_tables","kind":"statistics","summary":"Same as pg_stat_xact_all_tables, except that only system tables are shown.","first_version":"9.1","last_version":"19","versions":{"9.1":{"description":"Same as pg_stat_xact_all_tables , except that only system tables are shown.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html","inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html","inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"pg_stat_get_xact_numscans(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2633"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"pg_stat_get_xact_tuples_returned(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_returned","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2635"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"sum(pg_stat_get_xact_numscans(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_xact_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2633"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"sum(pg_stat_get_xact_tuples_fetched(I.indexrelid))::bigint + pg_stat_get_xact_tuples_fetched(C.oid)","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_xact_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2637"},{"name":"pg_stat_get_xact_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2637"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"pg_stat_get_xact_tuples_inserted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_inserted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2639"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"pg_stat_get_xact_tuples_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2641"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"pg_stat_get_xact_tuples_deleted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_deleted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2643"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"pg_stat_get_xact_tuples_hot_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_hot_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2645"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_stat_xact_all_tables","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":11,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11046,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Same as pg_stat_xact_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11115,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Same as pg_stat_xact_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11136,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Same as pg_stat_xact_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11233,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Same as pg_stat_xact_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11722,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Same as pg_stat_xact_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11747,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Same as pg_stat_xact_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11632,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Same as pg_stat_xact_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11700,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Same as pg_stat_xact_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12198,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"Same as pg_stat_xact_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12200,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"Same as pg_stat_xact_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12370,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"Same as pg_stat_xact_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12157,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"Same as pg_stat_xact_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":12,"documentary_schema_source":"documentation+source-sql","relation_oid":12157,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"Same as pg_stat_xact_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":12,"documentary_schema_source":"documentation+source-sql","relation_oid":12157,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"Same as pg_stat_xact_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":12,"documentary_schema_source":"documentation+source-sql","relation_oid":12161,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"Same as pg_stat_xact_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":12,"documentary_schema_source":"documentation+source-sql","relation_oid":12170,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"added","added_columns":[{"name":"relid","type":"oid","type_oid":26,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html","inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html","inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"pg_stat_get_xact_numscans(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2633"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"pg_stat_get_xact_tuples_returned(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_returned","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2635"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"sum(pg_stat_get_xact_numscans(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_xact_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2633"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"sum(pg_stat_get_xact_tuples_fetched(I.indexrelid))::bigint + pg_stat_get_xact_tuples_fetched(C.oid)","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_xact_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2637"},{"name":"pg_stat_get_xact_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2637"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"pg_stat_get_xact_tuples_inserted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_inserted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2639"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"pg_stat_get_xact_tuples_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2641"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"pg_stat_get_xact_tuples_deleted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_deleted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2643"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L365","type_evidence":{"expression":"pg_stat_get_xact_tuples_hot_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_hot_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2645"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"idx_scan","from":"","to":"Number of index scans initiated on this table This view reports counters for the current transaction."},{"name":"idx_tup_fetch","from":"","to":"Number of live rows fetched by index scans This view reports counters for the current transaction."},{"name":"n_tup_del","from":"","to":"Number of rows deleted This view reports counters for the current transaction."},{"name":"n_tup_hot_upd","from":"","to":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction."},{"name":"n_tup_ins","from":"","to":"Number of rows inserted This view reports counters for the current transaction."},{"name":"n_tup_upd","from":"","to":"Number of rows updated This view reports counters for the current transaction."},{"name":"relid","from":"","to":"OID of a table"},{"name":"relname","from":"","to":"Name of this table"},{"name":"schemaname","from":"","to":"Name of the schema that this table is in"},{"name":"seq_scan","from":"","to":"Number of sequential scans initiated on this table This view reports counters for the current transaction."},{"name":"seq_tup_read","from":"","to":"Number of live rows fetched by sequential scans This view reports counters for the current transaction."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"n_tup_upd","from":"Number of rows updated This view reports counters for the current transaction.","to":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"15","to":"16","status":"changed","added_columns":[{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"n_tup_del","from":"Number of rows deleted This view reports counters for the current transaction.","to":"Total number of rows deleted This view reports counters for the current transaction."},{"name":"n_tup_hot_upd","from":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","to":"Number of rows HOT updated. These are updates where no successor versions are required in indexes. This view reports counters for the current transaction."},{"name":"n_tup_ins","from":"Number of rows inserted This view reports counters for the current transaction.","to":"Total number of rows inserted This view reports counters for the current transaction."},{"name":"n_tup_upd","from":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","to":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.) This view reports counters for the current transaction."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_xact_user_functions","kind":"statistics","summary":"Similar to pg_stat_user_functions, but counts only calls during the current transaction (which are not yet included in pg_stat_user_functions).","first_version":"9.1","last_version":"19","versions":{"9.1":{"description":"Similar to pg_stat_user_functions , but counts only calls during the current transaction (which are not yet included in pg_stat_user_functions ).","columns":[{"name":"funcid","type":"oid","type_oid":26,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L573","type_evidence":{"expression":"P.oid","method":"catalog_oid_system_column","catalog_field":"pg_proc.oid"},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L573","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html"},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","type_oid":19,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L573","type_evidence":{"expression":"P.proname","method":"catalog_name_column","catalog_field":"pg_proc.proname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-proc.html"},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L573","type_evidence":{"expression":"pg_stat_get_xact_function_calls(P.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_function_calls","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2651"}]},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L573","type_evidence":{"expression":"pg_stat_get_xact_function_time(P.oid) / 1000","method":"bigint_function_divided_by_integer_literal","functions":[{"name":"pg_stat_get_xact_function_time","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2653"}]},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L573","type_evidence":{"expression":"pg_stat_get_xact_function_self_time(P.oid) / 1000","method":"bigint_function_divided_by_integer_literal","functions":[{"name":"pg_stat_get_xact_function_self_time","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2655"}]},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L573","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":6,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11111,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Similar to pg_stat_user_functions, but counts only calls during the current transaction (which are not yet included in pg_stat_user_functions).","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","derived_from":"pg_stat_user_functions","source_column_count":6,"documentary_schema_source":"documentation+source-sql","relation_oid":11181,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Similar to pg_stat_user_functions, but counts only calls during the current transaction (which are not yet included in pg_stat_user_functions).","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","derived_from":"pg_stat_user_functions","source_column_count":6,"documentary_schema_source":"documentation+source-sql","relation_oid":11202,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Similar to pg_stat_user_functions, but counts only calls during the current transaction (which are not yet included in pg_stat_user_functions).","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","derived_from":"pg_stat_user_functions","source_column_count":6,"documentary_schema_source":"documentation+source-sql","relation_oid":11304,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Similar to pg_stat_user_functions, but counts only calls during the current transaction (which are not yet included in pg_stat_user_functions).","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","derived_from":"pg_stat_user_functions","source_column_count":6,"documentary_schema_source":"documentation+source-sql","relation_oid":11797,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Similar to pg_stat_user_functions, but counts only calls during the current transaction (which are not yet included in pg_stat_user_functions).","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","derived_from":"pg_stat_user_functions","source_column_count":6,"documentary_schema_source":"documentation+source-sql","relation_oid":11825,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Similar to pg_stat_user_functions, but counts only calls during the current transaction (which are not yet included in pg_stat_user_functions).","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","derived_from":"pg_stat_user_functions","source_column_count":6,"documentary_schema_source":"documentation+source-sql","relation_oid":11713,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Similar to pg_stat_user_functions, but counts only calls during the current transaction (which are not yet included in pg_stat_user_functions).","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","derived_from":"pg_stat_user_functions","source_column_count":6,"documentary_schema_source":"documentation+source-sql","relation_oid":11781,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Similar to pg_stat_user_functions, but counts only calls during the current transaction (which are not yet included in pg_stat_user_functions).","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","derived_from":"pg_stat_user_functions","source_column_count":6,"documentary_schema_source":"documentation+source-sql","relation_oid":12283,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"Similar to pg_stat_user_functions, but counts only calls during the current transaction (which are not yet included in pg_stat_user_functions).","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","derived_from":"pg_stat_user_functions","source_column_count":6,"documentary_schema_source":"documentation+source-sql","relation_oid":12288,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"Similar to pg_stat_user_functions, but counts only calls during the current transaction (which are not yet included in pg_stat_user_functions).","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","derived_from":"pg_stat_user_functions","source_column_count":6,"documentary_schema_source":"documentation+source-sql","relation_oid":12489,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"Similar to pg_stat_user_functions, but counts only calls during the current transaction (which are not yet included in pg_stat_user_functions).","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","derived_from":"pg_stat_user_functions","source_column_count":6,"documentary_schema_source":"documentation+source-sql","relation_oid":12280,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"Similar to pg_stat_user_functions, but counts only calls during the current transaction (which are not yet included in pg_stat_user_functions).","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","derived_from":"pg_stat_user_functions","source_column_count":6,"documentary_schema_source":"documentation+source-sql","relation_oid":12280,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"Similar to pg_stat_user_functions, but counts only calls during the current transaction (which are not yet included in pg_stat_user_functions).","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","derived_from":"pg_stat_user_functions","source_column_count":6,"documentary_schema_source":"documentation+source-sql","relation_oid":12280,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"Similar to pg_stat_user_functions, but counts only calls during the current transaction (which are not yet included in pg_stat_user_functions).","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","derived_from":"pg_stat_user_functions","source_column_count":6,"documentary_schema_source":"documentation+source-sql","relation_oid":12284,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"Similar to pg_stat_user_functions, but counts only calls during the current transaction (which are not yet included in pg_stat_user_functions).","columns":[{"name":"funcid","type":"oid","description":"OID of a function","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this function is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","description":"Name of this function","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","description":"Number of times this function has been called This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"double precision","description":"Total time spent in this function and all other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"double precision","description":"Total time spent in this function itself, not including other functions called by it, in milliseconds This view reports counters for the current transaction.","hidden":false,"type_oid":701,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","derived_from":"pg_stat_user_functions","source_column_count":6,"documentary_schema_source":"documentation+source-sql","relation_oid":12306,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"added","added_columns":[{"name":"funcid","type":"oid","type_oid":26,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L573","type_evidence":{"expression":"P.oid","method":"catalog_oid_system_column","catalog_field":"pg_proc.oid"},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L573","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html"},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"funcname","type":"name","type_oid":19,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L573","type_evidence":{"expression":"P.proname","method":"catalog_name_column","catalog_field":"pg_proc.proname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-proc.html"},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"calls","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L573","type_evidence":{"expression":"pg_stat_get_xact_function_calls(P.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_function_calls","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2651"}]},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"total_time","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L573","type_evidence":{"expression":"pg_stat_get_xact_function_time(P.oid) / 1000","method":"bigint_function_divided_by_integer_literal","functions":[{"name":"pg_stat_get_xact_function_time","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2653"}]},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"self_time","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L573","type_evidence":{"expression":"pg_stat_get_xact_function_self_time(P.oid) / 1000","method":"bigint_function_divided_by_integer_literal","functions":[{"name":"pg_stat_get_xact_function_self_time","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2655"}]},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[{"name":"self_time","from":"bigint","to":"double precision"},{"name":"total_time","from":"bigint","to":"double precision"}],"description_changes":[{"name":"calls","from":"","to":"Number of times this function has been called This view reports counters for the current transaction."},{"name":"funcid","from":"","to":"OID of a function"},{"name":"funcname","from":"","to":"Name of this function"},{"name":"schemaname","from":"","to":"Name of the schema this function is in"},{"name":"self_time","from":"","to":"Total time spent in this function itself, not including other functions called by it, in milliseconds This view reports counters for the current transaction."},{"name":"total_time","from":"","to":"Total time spent in this function and all other functions called by it, in milliseconds This view reports counters for the current transaction."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true}]},{"name":"pg_stat_xact_user_tables","kind":"statistics","summary":"Same as pg_stat_xact_all_tables, except that only user tables are shown.","first_version":"9.1","last_version":"19","versions":{"9.1":{"description":"Same as pg_stat_xact_all_tables , except that only user tables are shown.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html","inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html","inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"pg_stat_get_xact_numscans(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2633"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"pg_stat_get_xact_tuples_returned(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_returned","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2635"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"sum(pg_stat_get_xact_numscans(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_xact_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2633"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"sum(pg_stat_get_xact_tuples_fetched(I.indexrelid))::bigint + pg_stat_get_xact_tuples_fetched(C.oid)","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_xact_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2637"},{"name":"pg_stat_get_xact_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2637"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"pg_stat_get_xact_tuples_inserted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_inserted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2639"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"pg_stat_get_xact_tuples_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2641"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"pg_stat_get_xact_tuples_deleted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_deleted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2643"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"pg_stat_get_xact_tuples_hot_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_hot_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2645"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_stat_xact_all_tables","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":11,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11053,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Same as pg_stat_xact_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11122,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Same as pg_stat_xact_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11143,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Same as pg_stat_xact_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11240,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Same as pg_stat_xact_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11729,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Same as pg_stat_xact_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11754,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Same as pg_stat_xact_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11639,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Same as pg_stat_xact_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11707,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Same as pg_stat_xact_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12205,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"Same as pg_stat_xact_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12207,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"Same as pg_stat_xact_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12379,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"Same as pg_stat_xact_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12166,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"Same as pg_stat_xact_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":12,"documentary_schema_source":"documentation+source-sql","relation_oid":12166,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"Same as pg_stat_xact_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":12,"documentary_schema_source":"documentation+source-sql","relation_oid":12166,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"Same as pg_stat_xact_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":12,"documentary_schema_source":"documentation+source-sql","relation_oid":12170,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"Same as pg_stat_xact_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","description":"Number of sequential scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","description":"Number of live rows fetched by sequential scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","description":"Number of index scans initiated on this table This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","description":"Number of live rows fetched by index scans This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","description":"Total number of rows inserted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","description":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.) This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","description":"Total number of rows deleted This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","description":"Number of rows HOT updated. These are updates where no successor versions are required in indexes. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","derived_from":"pg_stat_xact_all_tables","source_column_count":12,"documentary_schema_source":"documentation+source-sql","relation_oid":12179,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"added","added_columns":[{"name":"relid","type":"oid","type_oid":26,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html","inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html","inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_scan","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"pg_stat_get_xact_numscans(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2633"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"seq_tup_read","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"pg_stat_get_xact_tuples_returned(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_returned","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2635"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_scan","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"sum(pg_stat_get_xact_numscans(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_xact_numscans","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2633"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_tup_fetch","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"sum(pg_stat_get_xact_tuples_fetched(I.indexrelid))::bigint + pg_stat_get_xact_tuples_fetched(C.oid)","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_xact_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2637"},{"name":"pg_stat_get_xact_tuples_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2637"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_ins","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"pg_stat_get_xact_tuples_inserted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_inserted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2639"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_upd","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"pg_stat_get_xact_tuples_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2641"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_del","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"pg_stat_get_xact_tuples_deleted(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_deleted","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2643"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_tup_hot_upd","type":"bigint","type_oid":20,"description":"","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L375","type_evidence":{"expression":"pg_stat_get_xact_tuples_hot_updated(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_xact_tuples_hot_updated","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2645"}],"inherited_from":"pg_stat_xact_all_tables"},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"idx_scan","from":"","to":"Number of index scans initiated on this table This view reports counters for the current transaction."},{"name":"idx_tup_fetch","from":"","to":"Number of live rows fetched by index scans This view reports counters for the current transaction."},{"name":"n_tup_del","from":"","to":"Number of rows deleted This view reports counters for the current transaction."},{"name":"n_tup_hot_upd","from":"","to":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction."},{"name":"n_tup_ins","from":"","to":"Number of rows inserted This view reports counters for the current transaction."},{"name":"n_tup_upd","from":"","to":"Number of rows updated This view reports counters for the current transaction."},{"name":"relid","from":"","to":"OID of a table"},{"name":"relname","from":"","to":"Name of this table"},{"name":"schemaname","from":"","to":"Name of the schema that this table is in"},{"name":"seq_scan","from":"","to":"Number of sequential scans initiated on this table This view reports counters for the current transaction."},{"name":"seq_tup_read","from":"","to":"Number of live rows fetched by sequential scans This view reports counters for the current transaction."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"n_tup_upd","from":"Number of rows updated This view reports counters for the current transaction.","to":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"15","to":"16","status":"changed","added_columns":[{"name":"n_tup_newpage_upd","type":"bigint","description":"Number of rows updated where the successor version goes onto a new heap page, leaving behind an original version with a t_ctid field that points to a different heap page. These are always non-HOT updates. This view reports counters for the current transaction.","hidden":false,"type_oid":20,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"n_tup_del","from":"Number of rows deleted This view reports counters for the current transaction.","to":"Total number of rows deleted This view reports counters for the current transaction."},{"name":"n_tup_hot_upd","from":"Number of rows HOT updated (i.e., with no separate index update required) This view reports counters for the current transaction.","to":"Number of rows HOT updated. These are updates where no successor versions are required in indexes. This view reports counters for the current transaction."},{"name":"n_tup_ins","from":"Number of rows inserted This view reports counters for the current transaction.","to":"Total number of rows inserted This view reports counters for the current transaction."},{"name":"n_tup_upd","from":"Number of rows updated (includes HOT updated rows) This view reports counters for the current transaction.","to":"Total number of rows updated. (This includes row updates counted in n_tup_hot_upd and n_tup_newpage_upd, and remaining non-HOT updates.) This view reports counters for the current transaction."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_statio_all_indexes","kind":"statistics","summary":"One row for each index in the current database, showing statistics about I/O on that specific index. See pg_statio_all_indexes for details.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"For each index in the current database, the table and index OID, schema, table and index name, numbers of disk blocks read and buffer hits in that index.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L282","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","type_oid":26,"description":"OID of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L282","type_evidence":{"expression":"I.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema this index is in","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L282","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-namespace.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L282","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","type_oid":19,"description":"Name of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L282","type_evidence":{"expression":"I.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L282","type_evidence":{"expression":"pg_stat_get_blocks_fetched(I.oid) - pg_stat_get_blocks_hit(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3010"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L282","type_evidence":{"expression":"pg_stat_get_blocks_hit(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L282","documentation_url":"https://www.postgresql.org/docs/9.0/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_0_23","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.0/source/system_views.sql","source_column_count":7,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11039,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"For each index in the current database, the table and index OID, schema, table and index name, numbers of disk blocks read and buffer hits in that index.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L441","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","type_oid":26,"description":"OID of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L441","type_evidence":{"expression":"I.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema this index is in","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L441","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L441","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","type_oid":19,"description":"Name of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L441","type_evidence":{"expression":"I.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L441","type_evidence":{"expression":"pg_stat_get_blocks_fetched(I.oid) - pg_stat_get_blocks_hit(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2525"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L441","type_evidence":{"expression":"pg_stat_get_blocks_hit(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L441","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":7,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11076,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11145,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11166,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11263,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Several predefined views, listed in Table 27-1, are available to show the current state of the system. There are also several other views, listed in Table 27-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11752,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Several predefined views, listed in Table 28-1, are available to show the current state of the system. There are also several other views, listed in Table 28-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11777,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11662,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":11730,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Several predefined views, listed in Table 27.1, are available to show the current state of the system. There are also several other views, listed in Table 27.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nSome of the information in the dynamic statistics views shown in Table 27.1 is security restricted. Ordinary users can only see all the information about their own sessions (sessions belonging to a role that they are a member of). In rows about other sessions, many columns will be null. Note, however, that the existence of a session and its general properties such as its sessions user and database are visible to all users. Superusers and members of the built-in role pg_read_all_stats (see also Section 21.5) can see all the information about all sessions.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, plus one for the shared objects, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12228,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12230,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12409,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12196,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12196,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12196,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":7,"documentary_schema_source":"documentation","relation_oid":12200,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":12214,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.3","to":"9.4","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_statio_all_sequences","kind":"statistics","summary":"One row for each sequence in the current database, showing statistics about I/O on that specific sequence. See pg_statio_all_sequences for details.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"For each sequence object in the current database, the sequence OID, schema and sequence name, numbers of disk blocks read and buffer hits in that sequence.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of a sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L308","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema this sequence is in","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L308","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-namespace.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of this sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L308","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L308","type_evidence":{"expression":"pg_stat_get_blocks_fetched(C.oid) - pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3010"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L308","type_evidence":{"expression":"pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L308","documentation_url":"https://www.postgresql.org/docs/9.0/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_0_23","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.0/source/system_views.sql","source_column_count":5,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11049,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"For each sequence object in the current database, the sequence OID, schema and sequence name, numbers of disk blocks read and buffer hits in that sequence.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of a sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L467","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema this sequence is in","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L467","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of this sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L467","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L467","type_evidence":{"expression":"pg_stat_get_blocks_fetched(C.oid) - pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2525"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L467","type_evidence":{"expression":"pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L467","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":5,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11086,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":11155,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":11176,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":11273,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Several predefined views, listed in Table 27-1, are available to show the current state of the system. There are also several other views, listed in Table 27-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":11762,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Several predefined views, listed in Table 28-1, are available to show the current state of the system. There are also several other views, listed in Table 28-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":11787,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":11672,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":11740,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Several predefined views, listed in Table 27.1, are available to show the current state of the system. There are also several other views, listed in Table 27.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nSome of the information in the dynamic statistics views shown in Table 27.1 is security restricted. Ordinary users can only see all the information about their own sessions (sessions belonging to a role that they are a member of). In rows about other sessions, many columns will be null. Note, however, that the existence of a session and its general properties such as its sessions user and database are visible to all users. Superusers and members of the built-in role pg_read_all_stats (see also Section 21.5) can see all the information about all sessions.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, plus one for the shared objects, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":12238,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":12240,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":12422,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":12209,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":12209,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":12209,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":12213,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":12227,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.3","to":"9.4","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_statio_all_tables","kind":"statistics","summary":"One row for each table in the current database, showing statistics about I/O on that specific table. See pg_statio_all_tables for details.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"For each table in the current database (including TOAST tables), the table OID, schema and table name, number of disk blocks read from that table, number of buffer hits, numbers of disk blocks read and buffer hits in all indexes of that table, numbers of disk blocks read and buffer hits from that table's auxiliary TOAST table (if any), and numbers of disk blocks read and buffer hits for the TOAST table's index.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of a table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L221","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema that this table is in","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L221","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-namespace.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L221","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L221","type_evidence":{"expression":"pg_stat_get_blocks_fetched(C.oid) - pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3010"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L221","type_evidence":{"expression":"pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from all indexes on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L221","type_evidence":{"expression":"sum(pg_stat_get_blocks_fetched(I.indexrelid) - pg_stat_get_blocks_hit(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3010"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in all indexes on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L221","type_evidence":{"expression":"sum(pg_stat_get_blocks_hit(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this table's TOAST table (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L221","type_evidence":{"expression":"pg_stat_get_blocks_fetched(T.oid) - pg_stat_get_blocks_hit(T.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3010"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this table's TOAST table (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L221","type_evidence":{"expression":"pg_stat_get_blocks_hit(T.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this table's TOAST table index (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L221","type_evidence":{"expression":"pg_stat_get_blocks_fetched(X.oid) - pg_stat_get_blocks_hit(X.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3010"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this table's TOAST table index (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L221","type_evidence":{"expression":"pg_stat_get_blocks_hit(X.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L221","documentation_url":"https://www.postgresql.org/docs/9.0/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_0_23","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.0/source/system_views.sql","source_column_count":11,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11019,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"For each table in the current database (including TOAST tables), the table OID, schema and table name, number of disk blocks read from that table, number of buffer hits, numbers of disk blocks read and buffer hits in all indexes of that table, numbers of disk blocks read and buffer hits from that table's auxiliary TOAST table (if any), and numbers of disk blocks read and buffer hits for the TOAST table's index.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of a table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L380","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema that this table is in","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L380","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L380","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L380","type_evidence":{"expression":"pg_stat_get_blocks_fetched(C.oid) - pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2525"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L380","type_evidence":{"expression":"pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from all indexes on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L380","type_evidence":{"expression":"sum(pg_stat_get_blocks_fetched(I.indexrelid) - pg_stat_get_blocks_hit(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2525"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in all indexes on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L380","type_evidence":{"expression":"sum(pg_stat_get_blocks_hit(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this table's TOAST table (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L380","type_evidence":{"expression":"pg_stat_get_blocks_fetched(T.oid) - pg_stat_get_blocks_hit(T.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2525"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this table's TOAST table (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L380","type_evidence":{"expression":"pg_stat_get_blocks_hit(T.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this table's TOAST table index (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L380","type_evidence":{"expression":"pg_stat_get_blocks_fetched(X.oid) - pg_stat_get_blocks_hit(X.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2525"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this table's TOAST table index (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L380","type_evidence":{"expression":"pg_stat_get_blocks_hit(X.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}]},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L380","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":11,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11056,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table index (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table index (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":11125,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table index (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table index (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":11146,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Several predefined views, listed in Table 27-1, are available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor current activity, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used via either simple index scans or \"bitmap\" index scans. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":11243,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Several predefined views, listed in Table 27-1, are available to show the current state of the system. There are also several other views, listed in Table 27-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":11732,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Several predefined views, listed in Table 28-1, are available to show the current state of the system. There are also several other views, listed in Table 28-2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, \"bitmap\" index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html#docContent","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":11757,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":11642,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Several predefined views, listed in Table 28.1, are available to show the current state of the system. There are also several other views, listed in Table 28.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 28.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":11710,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Several predefined views, listed in Table 27.1, are available to show the current state of the system. There are also several other views, listed in Table 27.2, available to show the results of statistics collection. Alternatively, one can build custom views using the underlying statistics functions, as discussed in Section 27.2.3.\n\nWhen using the statistics to monitor collected data, it is important to realize that the information does not update instantaneously. Each individual server process transmits new statistical counts to the collector just before going idle; so a query or transaction still in progress does not affect the displayed totals. Also, the collector itself emits a new report at most once per PGSTAT_STAT_INTERVAL milliseconds (500 ms unless altered while building the server). So the displayed information lags behind actual activity. However, current-query information collected by track_activities is always up-to-date.\n\nAnother important point is that when a server process is asked to display any of these statistics, it first fetches the most recent report emitted by the collector process and then continues to use this snapshot for all statistical views and functions until the end of its current transaction. So the statistics will show static information as long as you continue the current transaction. Similarly, information about the current queries of all sessions is collected when any such information is first requested within a transaction, and the same information will be displayed throughout the transaction. This is a feature, not a bug, because it allows you to perform several queries on the statistics and correlate the results without worrying that the numbers are changing underneath you. But if you want to see new results with each query, be sure to do the queries outside any transaction block. Alternatively, you can invoke pg_stat_clear_snapshot(), which will discard the current transaction's statistics snapshot (if any). The next use of statistical information will cause a new snapshot to be fetched.\n\nA transaction can also see its own statistics (as yet untransmitted to the collector) in the views pg_stat_xact_all_tables, pg_stat_xact_sys_tables, pg_stat_xact_user_tables, and pg_stat_xact_user_functions. These numbers do not act as stated above; instead they update continuously throughout the transaction.\n\nSome of the information in the dynamic statistics views shown in Table 27.1 is security restricted. Ordinary users can only see all the information about their own sessions (sessions belonging to a role that they are a member of). In rows about other sessions, many columns will be null. Note, however, that the existence of a session and its general properties such as its sessions user and database are visible to all users. Superusers and members of the built-in role pg_read_all_stats (see also Section 21.5) can see all the information about all sessions.\n\nThe per-index statistics are particularly useful to determine which indexes are being used and how effective they are.\n\nThe pg_statio_ views are primarily useful to determine the effectiveness of the buffer cache. When the number of actual disk reads is much smaller than the number of buffer hits, then the cache is satisfying most read requests without invoking a kernel call. However, these statistics do not give the entire story: due to the way in which PostgreSQL handles disk I/O, data that is not in the PostgreSQL buffer cache might still reside in the kernel's I/O cache, and might therefore still be fetched without requiring a physical read. Users interested in obtaining more detailed information on PostgreSQL I/O behavior are advised to use the PostgreSQL statistics collector in combination with operating system utilities that allow insight into the kernel's handling of I/O.\n\nThe pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.\n\nHere is an example of how wait events can be viewed\n\nThe pg_stat_replication view will contain one row per WAL sender process, showing statistics about replication to that sender's connected standby server. Only directly connected standbys are listed; no information is available about downstream standby servers.\n\nThe lag times reported in the pg_stat_replication view are measurements of the time taken for recent WAL to be written, flushed and replayed and for the sender to know about it. These times represent the commit delay that was (or would have been) introduced by each synchronous commit level, if the remote server was configured as a synchronous standby. For an asynchronous standby, the replay_lag column approximates the delay before recent transactions became visible to queries. If the standby server has entirely caught up with the sending server and there is no more WAL activity, the most recently measured lag times will continue to be displayed for a short time and then show NULL.\n\nLag times work automatically for physical replication. Logical decoding plugins may optionally emit tracking messages; if they do not, the tracking mechanism will simply display NULL lag.\n\nThe pg_stat_wal_receiver view will contain only one row, showing statistics about the WAL receiver from that receiver's connected server.\n\nThe pg_stat_subscription view will contain one row per subscription for main worker (with null PID if the worker is not running), and additional rows for workers handling the initial data copy of the subscribed tables.\n\nThe pg_stat_ssl view will contain one row per backend or WAL sender process, showing statistics about SSL usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_gssapi view will contain one row per backend, showing information about GSSAPI usage on this connection. It can be joined to pg_stat_activity or pg_stat_replication on the pid column to get more details about the connection.\n\nThe pg_stat_archiver view will always have a single row, containing data about the archiver process of the cluster.\n\nThe pg_stat_bgwriter view will always have a single row, containing global data for the cluster.\n\nThe pg_stat_database view will contain one row for each database in the cluster, plus one for the shared objects, showing database-wide statistics.\n\nThe pg_stat_database_conflicts view will contain one row per database, showing database-wide statistics about query cancels occurring due to conflicts with recovery on standby servers. This view will only contain information on standby servers, since conflicts do not occur on master servers.\n\nThe pg_stat_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about accesses to that specific table. The pg_stat_user_tables and pg_stat_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_stat_all_indexes view will contain one row for each index in the current database, showing statistics about accesses to that specific index. The pg_stat_user_indexes and pg_stat_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nIndexes can be used by simple index scans, “bitmap” index scans, and the optimizer. In a bitmap scan the output of several indexes can be combined via AND or OR rules, so it is difficult to associate individual heap row fetches with specific indexes when a bitmap scan is used. Therefore, a bitmap scan increments the pg_stat_all_indexes.idx_tup_read count(s) for the index(es) it uses, and it increments the pg_stat_all_tables.idx_tup_fetch count for the table, but it does not affect pg_stat_all_indexes.idx_tup_fetch. The optimizer also accesses indexes to check for supplied constants whose values are outside the recorded range of the optimizer statistics because the optimizer statistics might be stale.\n\nThe pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.\n\nThe pg_statio_all_indexes view will contain one row for each index in the current database, showing statistics about I/O on that specific index. The pg_statio_user_indexes and pg_statio_sys_indexes views contain the same information, but filtered to only show user and system indexes respectively.\n\nThe pg_statio_all_sequences view will contain one row for each sequence in the current database, showing statistics about I/O on that specific sequence.\n\nThe pg_stat_user_functions view will contain one row for each tracked function, showing statistics about executions of that function. The track_functions parameter controls exactly which functions are tracked.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12208,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12210,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12383,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12170,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12170,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12170,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":12174,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_statio_all_tables view will contain one row for each table in the current database (including TOAST tables), showing statistics about I/O on that specific table. The pg_statio_user_tables and pg_statio_sys_tables views contain the same information, but filtered to only show user and system tables respectively.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","source_column_count":12,"documentary_schema_source":"documentation","relation_oid":12188,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.3","to":"9.4","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"tidx_blks_hit","from":"Number of buffer hits in this table's TOAST table index (if any)","to":"Number of buffer hits in this table's TOAST table indexes (if any)"},{"name":"tidx_blks_read","from":"Number of disk blocks read from this table's TOAST table index (if any)","to":"Number of disk blocks read from this table's TOAST table indexes (if any)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_statio_sys_indexes","kind":"statistics","summary":"Same as pg_statio_all_indexes, except that only indexes on system tables are shown.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"Same as pg_statio_all_indexes , except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L298","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","type_oid":26,"description":"OID of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L298","type_evidence":{"expression":"I.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema this index is in","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L298","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-namespace.html","inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L298","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html","inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","type_oid":19,"description":"Name of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L298","type_evidence":{"expression":"I.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html","inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L298","type_evidence":{"expression":"pg_stat_get_blocks_fetched(I.oid) - pg_stat_get_blocks_hit(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3010"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L298","type_evidence":{"expression":"pg_stat_get_blocks_hit(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L298","documentation_url":"https://www.postgresql.org/docs/9.0/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_0_23","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_statio_all_indexes","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.0/source/system_views.sql","source_column_count":7,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11043,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"Same as pg_statio_all_indexes , except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L457","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","type_oid":26,"description":"OID of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L457","type_evidence":{"expression":"I.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema this index is in","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L457","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html","inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L457","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html","inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","type_oid":19,"description":"Name of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L457","type_evidence":{"expression":"I.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html","inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L457","type_evidence":{"expression":"pg_stat_get_blocks_fetched(I.oid) - pg_stat_get_blocks_hit(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2525"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L457","type_evidence":{"expression":"pg_stat_get_blocks_hit(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L457","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_statio_all_indexes","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":7,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11080,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Same as pg_statio_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":11149,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Same as pg_statio_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":11170,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Same as pg_statio_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":11267,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Same as pg_statio_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":11756,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Same as pg_statio_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":11781,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Same as pg_statio_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":11666,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Same as pg_statio_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":11734,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Same as pg_statio_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":12232,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"Same as pg_statio_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":12234,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"Same as pg_statio_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":12414,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"Same as pg_statio_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":12201,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"Same as pg_statio_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":12201,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"Same as pg_statio_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":12201,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"Same as pg_statio_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":12205,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"Same as pg_statio_all_indexes, except that only indexes on system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":12219,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_statio_sys_sequences","kind":"statistics","summary":"Same as pg_statio_all_sequences, except that only system sequences are shown. (Presently, no system sequences are defined, so this view is always empty.)","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"Same as pg_statio_all_sequences , except that only system sequences are shown. (Presently, no system sequences are defined, so this view is always empty.)","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of a sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L320","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_statio_all_sequences"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema this sequence is in","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L320","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-namespace.html","inherited_from":"pg_statio_all_sequences"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of this sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L320","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html","inherited_from":"pg_statio_all_sequences"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L320","type_evidence":{"expression":"pg_stat_get_blocks_fetched(C.oid) - pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3010"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_sequences"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L320","type_evidence":{"expression":"pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_sequences"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L320","documentation_url":"https://www.postgresql.org/docs/9.0/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_0_23","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_statio_all_sequences","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.0/source/system_views.sql","source_column_count":5,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11052,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"Same as pg_statio_all_sequences , except that only system sequences are shown. (Presently, no system sequences are defined, so this view is always empty.)","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of a sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L479","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_statio_all_sequences"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema this sequence is in","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L479","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html","inherited_from":"pg_statio_all_sequences"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of this sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L479","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html","inherited_from":"pg_statio_all_sequences"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L479","type_evidence":{"expression":"pg_stat_get_blocks_fetched(C.oid) - pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2525"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_sequences"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L479","type_evidence":{"expression":"pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_sequences"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L479","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_statio_all_sequences","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":5,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11089,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Same as pg_statio_all_sequences, except that only system sequences are shown. (Presently, no system sequences are defined, so this view is always empty.)","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":11159,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Same as pg_statio_all_sequences, except that only system sequences are shown. (Presently, no system sequences are defined, so this view is always empty.)","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":11180,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Same as pg_statio_all_sequences, except that only system sequences are shown. (Presently, no system sequences are defined, so this view is always empty.)","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":11277,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Same as pg_statio_all_sequences, except that only system sequences are shown. (Presently, no system sequences are defined, so this view is always empty.)","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":11766,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Same as pg_statio_all_sequences, except that only system sequences are shown. (Presently, no system sequences are defined, so this view is always empty.)","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":11791,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Same as pg_statio_all_sequences, except that only system sequences are shown. (Presently, no system sequences are defined, so this view is always empty.)","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":11676,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Same as pg_statio_all_sequences, except that only system sequences are shown. (Presently, no system sequences are defined, so this view is always empty.)","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":11744,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Same as pg_statio_all_sequences, except that only system sequences are shown. (Presently, no system sequences are defined, so this view is always empty.)","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":12242,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"Same as pg_statio_all_sequences, except that only system sequences are shown. (Presently, no system sequences are defined, so this view is always empty.)","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":12244,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"Same as pg_statio_all_sequences, except that only system sequences are shown. (Presently, no system sequences are defined, so this view is always empty.)","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":12427,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"Same as pg_statio_all_sequences, except that only system sequences are shown. (Presently, no system sequences are defined, so this view is always empty.)","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":12214,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"Same as pg_statio_all_sequences, except that only system sequences are shown. (Presently, no system sequences are defined, so this view is always empty.)","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":12214,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"Same as pg_statio_all_sequences, except that only system sequences are shown. (Presently, no system sequences are defined, so this view is always empty.)","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":12214,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"Same as pg_statio_all_sequences, except that only system sequences are shown. (Presently, no system sequences are defined, so this view is always empty.)","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":12218,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"Same as pg_statio_all_sequences, except that only system sequences are shown. (Presently, no system sequences are defined, so this view is always empty.)","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":6,"documentary_schema_source":"documentation+source-sql","relation_oid":12232,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_statio_sys_tables","kind":"statistics","summary":"Same as pg_statio_all_tables, except that only system tables are shown.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"Same as pg_statio_all_tables , except that only system tables are shown.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of a table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L246","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema that this table is in","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L246","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-namespace.html","inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L246","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html","inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L246","type_evidence":{"expression":"pg_stat_get_blocks_fetched(C.oid) - pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3010"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L246","type_evidence":{"expression":"pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from all indexes on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L246","type_evidence":{"expression":"sum(pg_stat_get_blocks_fetched(I.indexrelid) - pg_stat_get_blocks_hit(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3010"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in all indexes on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L246","type_evidence":{"expression":"sum(pg_stat_get_blocks_hit(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this table's TOAST table (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L246","type_evidence":{"expression":"pg_stat_get_blocks_fetched(T.oid) - pg_stat_get_blocks_hit(T.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3010"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this table's TOAST table (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L246","type_evidence":{"expression":"pg_stat_get_blocks_hit(T.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this table's TOAST table index (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L246","type_evidence":{"expression":"pg_stat_get_blocks_fetched(X.oid) - pg_stat_get_blocks_hit(X.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3010"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this table's TOAST table index (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L246","type_evidence":{"expression":"pg_stat_get_blocks_hit(X.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L246","documentation_url":"https://www.postgresql.org/docs/9.0/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_0_23","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_statio_all_tables","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.0/source/system_views.sql","source_column_count":11,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11023,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"Same as pg_statio_all_tables , except that only system tables are shown.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of a table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L405","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema that this table is in","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L405","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html","inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L405","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html","inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L405","type_evidence":{"expression":"pg_stat_get_blocks_fetched(C.oid) - pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2525"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L405","type_evidence":{"expression":"pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from all indexes on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L405","type_evidence":{"expression":"sum(pg_stat_get_blocks_fetched(I.indexrelid) - pg_stat_get_blocks_hit(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2525"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in all indexes on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L405","type_evidence":{"expression":"sum(pg_stat_get_blocks_hit(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this table's TOAST table (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L405","type_evidence":{"expression":"pg_stat_get_blocks_fetched(T.oid) - pg_stat_get_blocks_hit(T.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2525"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this table's TOAST table (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L405","type_evidence":{"expression":"pg_stat_get_blocks_hit(T.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this table's TOAST table index (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L405","type_evidence":{"expression":"pg_stat_get_blocks_fetched(X.oid) - pg_stat_get_blocks_hit(X.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2525"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this table's TOAST table index (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L405","type_evidence":{"expression":"pg_stat_get_blocks_hit(X.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L405","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_statio_all_tables","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":11,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11060,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Same as pg_statio_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table index (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table index (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11129,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Same as pg_statio_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table index (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table index (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11150,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Same as pg_statio_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11247,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Same as pg_statio_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11736,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Same as pg_statio_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11761,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Same as pg_statio_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11646,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Same as pg_statio_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11714,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Same as pg_statio_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12212,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"Same as pg_statio_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12214,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"Same as pg_statio_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12388,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"Same as pg_statio_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12175,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"Same as pg_statio_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12175,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"Same as pg_statio_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12175,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"Same as pg_statio_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12179,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"Same as pg_statio_all_tables, except that only system tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":12,"documentary_schema_source":"documentation+source-sql","relation_oid":12193,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.3","to":"9.4","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"tidx_blks_hit","from":"Number of buffer hits in this table's TOAST table index (if any)","to":"Number of buffer hits in this table's TOAST table indexes (if any)"},{"name":"tidx_blks_read","from":"Number of disk blocks read from this table's TOAST table index (if any)","to":"Number of disk blocks read from this table's TOAST table indexes (if any)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_statio_user_indexes","kind":"statistics","summary":"Same as pg_statio_all_indexes, except that only indexes on user tables are shown.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"Same as pg_statio_all_indexes , except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L303","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","type_oid":26,"description":"OID of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L303","type_evidence":{"expression":"I.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema this index is in","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L303","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-namespace.html","inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L303","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html","inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","type_oid":19,"description":"Name of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L303","type_evidence":{"expression":"I.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html","inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L303","type_evidence":{"expression":"pg_stat_get_blocks_fetched(I.oid) - pg_stat_get_blocks_hit(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3010"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this index","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L303","type_evidence":{"expression":"pg_stat_get_blocks_hit(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L303","documentation_url":"https://www.postgresql.org/docs/9.0/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_0_23","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_statio_all_indexes","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.0/source/system_views.sql","source_column_count":7,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11046,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"Same as pg_statio_all_indexes , except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L462","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","type_oid":26,"description":"OID of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L462","type_evidence":{"expression":"I.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema this index is in","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L462","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html","inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of the table for this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L462","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html","inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","type_oid":19,"description":"Name of this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L462","type_evidence":{"expression":"I.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html","inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L462","type_evidence":{"expression":"pg_stat_get_blocks_fetched(I.oid) - pg_stat_get_blocks_hit(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2525"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this index","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L462","type_evidence":{"expression":"pg_stat_get_blocks_hit(I.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_indexes"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-INDEXES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L462","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_statio_all_indexes","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":7,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11083,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Same as pg_statio_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":11152,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Same as pg_statio_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":11173,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Same as pg_statio_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":11270,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Same as pg_statio_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":11759,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Same as pg_statio_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":11784,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Same as pg_statio_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":11669,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Same as pg_statio_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":11737,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Same as pg_statio_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":12235,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"Same as pg_statio_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":12237,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"Same as pg_statio_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":12418,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"Same as pg_statio_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":12205,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"Same as pg_statio_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":12205,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"Same as pg_statio_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":12205,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"Same as pg_statio_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":7,"documentary_schema_source":"documentation+source-sql","relation_oid":12209,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"Same as pg_statio_all_indexes, except that only indexes on user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of the table for this index","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelid","type":"oid","description":"OID of this index","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this index is in","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of the table for this index","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"indexrelname","type":"name","description":"Name of this index","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from this index","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in this index","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","derived_from":"pg_statio_all_indexes","source_column_count":8,"documentary_schema_source":"documentation+source-sql","relation_oid":12223,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_statio_user_sequences","kind":"statistics","summary":"Same as pg_statio_all_sequences, except that only user sequences are shown.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"Same as pg_statio_all_sequences , except that only user sequences are shown.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of a sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L325","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_statio_all_sequences"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema this sequence is in","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L325","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-namespace.html","inherited_from":"pg_statio_all_sequences"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of this sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L325","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html","inherited_from":"pg_statio_all_sequences"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L325","type_evidence":{"expression":"pg_stat_get_blocks_fetched(C.oid) - pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3010"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_sequences"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L325","type_evidence":{"expression":"pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_sequences"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L325","documentation_url":"https://www.postgresql.org/docs/9.0/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_0_23","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_statio_all_sequences","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.0/source/system_views.sql","source_column_count":5,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11055,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"Same as pg_statio_all_sequences , except that only user sequences are shown.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of a sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L484","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_statio_all_sequences"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema this sequence is in","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L484","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html","inherited_from":"pg_statio_all_sequences"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of this sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L484","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html","inherited_from":"pg_statio_all_sequences"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L484","type_evidence":{"expression":"pg_stat_get_blocks_fetched(C.oid) - pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2525"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_sequences"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this sequence","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L484","type_evidence":{"expression":"pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_sequences"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-SEQUENCES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L484","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_statio_all_sequences","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":5,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11092,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Same as pg_statio_all_sequences, except that only user sequences are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":11162,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Same as pg_statio_all_sequences, except that only user sequences are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":11183,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Same as pg_statio_all_sequences, except that only user sequences are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":11280,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Same as pg_statio_all_sequences, except that only user sequences are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":11769,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Same as pg_statio_all_sequences, except that only user sequences are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":11794,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Same as pg_statio_all_sequences, except that only user sequences are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":11679,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Same as pg_statio_all_sequences, except that only user sequences are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":11747,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Same as pg_statio_all_sequences, except that only user sequences are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":12245,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"Same as pg_statio_all_sequences, except that only user sequences are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":12247,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"Same as pg_statio_all_sequences, except that only user sequences are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":12431,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"Same as pg_statio_all_sequences, except that only user sequences are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":12218,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"Same as pg_statio_all_sequences, except that only user sequences are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":12218,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"Same as pg_statio_all_sequences, except that only user sequences are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":12218,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"Same as pg_statio_all_sequences, except that only user sequences are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":5,"documentary_schema_source":"documentation+source-sql","relation_oid":12222,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"Same as pg_statio_all_sequences, except that only user sequences are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a sequence","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema this sequence is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this sequence","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_read","type":"bigint","description":"Number of disk blocks read from this sequence","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"blks_hit","type":"bigint","description":"Number of buffer hits in this sequence","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","derived_from":"pg_statio_all_sequences","source_column_count":6,"documentary_schema_source":"documentation+source-sql","relation_oid":12236,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_statio_user_tables","kind":"statistics","summary":"Same as pg_statio_all_tables, except that only user tables are shown.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"Same as pg_statio_all_tables , except that only user tables are shown.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of a table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L251","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema that this table is in","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L251","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-namespace.html","inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L251","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.0/catalog-pg-class.html","inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L251","type_evidence":{"expression":"pg_stat_get_blocks_fetched(C.oid) - pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3010"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L251","type_evidence":{"expression":"pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from all indexes on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L251","type_evidence":{"expression":"sum(pg_stat_get_blocks_fetched(I.indexrelid) - pg_stat_get_blocks_hit(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3010"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in all indexes on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L251","type_evidence":{"expression":"sum(pg_stat_get_blocks_hit(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this table's TOAST table (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L251","type_evidence":{"expression":"pg_stat_get_blocks_fetched(T.oid) - pg_stat_get_blocks_hit(T.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3010"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this table's TOAST table (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L251","type_evidence":{"expression":"pg_stat_get_blocks_hit(T.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this table's TOAST table index (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L251","type_evidence":{"expression":"pg_stat_get_blocks_fetched(X.oid) - pg_stat_get_blocks_hit(X.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3010"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this table's TOAST table index (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L251","type_evidence":{"expression":"pg_stat_get_blocks_hit(X.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/include/catalog/pg_proc.h#L3012"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_0_23/src/backend/catalog/system_views.sql#L251","documentation_url":"https://www.postgresql.org/docs/9.0/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_0_23","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_statio_all_tables","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.0/source/system_views.sql","source_column_count":11,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11026,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"Same as pg_statio_all_tables , except that only user tables are shown.","columns":[{"name":"relid","type":"oid","type_oid":26,"description":"OID of a table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L410","type_evidence":{"expression":"C.oid","method":"catalog_oid_system_column","catalog_field":"pg_class.oid","inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","type_oid":19,"description":"Name of the schema that this table is in","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L410","type_evidence":{"expression":"N.nspname","method":"catalog_name_column","catalog_field":"pg_namespace.nspname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-namespace.html","inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","type_oid":19,"description":"Name of this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L410","type_evidence":{"expression":"C.relname","method":"catalog_name_column","catalog_field":"pg_class.relname","catalog_source":"https://www.postgresql.org/docs/9.1/catalog-pg-class.html","inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L410","type_evidence":{"expression":"pg_stat_get_blocks_fetched(C.oid) - pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2525"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L410","type_evidence":{"expression":"pg_stat_get_blocks_hit(C.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from all indexes on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L410","type_evidence":{"expression":"sum(pg_stat_get_blocks_fetched(I.indexrelid) - pg_stat_get_blocks_hit(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2525"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in all indexes on this table","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L410","type_evidence":{"expression":"sum(pg_stat_get_blocks_hit(I.indexrelid))::bigint","method":"explicit_bigint_cast_and_bigint_arithmetic","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this table's TOAST table (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L410","type_evidence":{"expression":"pg_stat_get_blocks_fetched(T.oid) - pg_stat_get_blocks_hit(T.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2525"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this table's TOAST table (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L410","type_evidence":{"expression":"pg_stat_get_blocks_hit(T.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","type_oid":20,"description":"Number of disk blocks read from this table's TOAST table index (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L410","type_evidence":{"expression":"pg_stat_get_blocks_fetched(X.oid) - pg_stat_get_blocks_hit(X.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_fetched","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2525"},{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","type_oid":20,"description":"Number of buffer hits in this table's TOAST table index (if any)","source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L410","type_evidence":{"expression":"pg_stat_get_blocks_hit(X.oid)","method":"sql_projection_and_function_signatures","functions":[{"name":"pg_stat_get_blocks_hit","return_oid":20,"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/include/catalog/pg_proc.h#L2527"}],"inherited_from":"pg_statio_all_tables"},"description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html#PG-STATIO-ALL-TABLES-VIEW","method":"later_documentation_exact_column_name","note":"Explanation borrowed from later documentation; existence, order, and type come only from this version's source."},"hidden":false,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://github.com/postgres/postgres/blob/REL9_1_24/src/backend/catalog/system_views.sql#L410","documentation_url":"https://www.postgresql.org/docs/9.1/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE","source_tag":"REL9_1_24","extraction_method":"release_source_sql_and_pg_proc_header","alias_of":"pg_statio_all_tables","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.1/source/system_views.sql","source_column_count":11,"documentary_schema_source":"release_source_sql_and_pg_proc_header","schema_source":"runtime+documentation","relation_oid":11063,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"Same as pg_statio_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table index (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table index (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/monitoring-stats.html","source_path":"sources/postgresql/9.2/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.2/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11132,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"Same as pg_statio_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table index (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table index (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/monitoring-stats.html","source_path":"sources/postgresql/9.3/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.3/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11153,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"Same as pg_statio_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/monitoring-stats.html","source_path":"sources/postgresql/9.4/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.4/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11250,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"Same as pg_statio_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/monitoring-stats.html","source_path":"sources/postgresql/9.5/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.5/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11739,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"Same as pg_statio_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/monitoring-stats.html","source_path":"sources/postgresql/9.6/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/9.6/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11764,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"Same as pg_statio_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/monitoring-stats.html","source_path":"sources/postgresql/10/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/10/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11649,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"Same as pg_statio_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/monitoring-stats.html","source_path":"sources/postgresql/11/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/11/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":11717,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"Same as pg_statio_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/monitoring-stats.html","source_path":"sources/postgresql/12/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/12/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12215,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"Same as pg_statio_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/monitoring-stats.html","source_path":"sources/postgresql/13/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/13/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12217,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"Same as pg_statio_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/monitoring-stats.html","source_path":"sources/postgresql/14/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/14/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12392,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"Same as pg_statio_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/monitoring-stats.html","source_path":"sources/postgresql/15/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/15/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12179,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"Same as pg_statio_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/monitoring-stats.html","source_path":"sources/postgresql/16/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/16/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12179,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"Same as pg_statio_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/monitoring-stats.html","source_path":"sources/postgresql/17/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/17/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12179,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"Same as pg_statio_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/monitoring-stats.html","source_path":"sources/postgresql/18/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/18/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":11,"documentary_schema_source":"documentation+source-sql","relation_oid":12183,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"Same as pg_statio_all_tables, except that only user tables are shown.","columns":[{"name":"relid","type":"oid","description":"OID of a table","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"schemaname","type":"name","description":"Name of the schema that this table is in","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"relname","type":"name","description":"Name of this table","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_read","type":"bigint","description":"Number of disk blocks read from this table","hidden":false,"type_oid":20,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"heap_blks_hit","type":"bigint","description":"Number of buffer hits in this table","hidden":false,"type_oid":20,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_read","type":"bigint","description":"Number of disk blocks read from all indexes on this table","hidden":false,"type_oid":20,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"idx_blks_hit","type":"bigint","description":"Number of buffer hits in all indexes on this table","hidden":false,"type_oid":20,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"toast_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table (if any)","hidden":false,"type_oid":20,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_read","type":"bigint","description":"Number of disk blocks read from this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tidx_blks_hit","type":"bigint","description":"Number of buffer hits in this table's TOAST table indexes (if any)","hidden":false,"type_oid":20,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/monitoring-stats.html","source_path":"sources/postgresql/19/monitoring-stats.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/backend/catalog/system_views.sql","definition_source_path":"sources/postgresql/19/source/system_views.sql","derived_from":"pg_statio_all_tables","source_column_count":12,"documentary_schema_source":"documentation+source-sql","relation_oid":12197,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.3","to":"9.4","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"tidx_blks_hit","from":"Number of buffer hits in this table's TOAST table index (if any)","to":"Number of buffer hits in this table's TOAST table indexes (if any)"},{"name":"tidx_blks_read","from":"Number of disk blocks read from this table's TOAST table index (if any)","to":"Number of disk blocks read from this table's TOAST table indexes (if any)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"stats_reset","type":"timestamp with time zone","description":"Time at which these statistics were last reset","hidden":false,"type_oid":1184,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_statistic","kind":"catalog","summary":"planner statistics","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_statistic stores statistical data about the contents of the database. Entries are created by ANALYZE and subsequently used by the query planner. Note that all the statistical data is inherently approximate, even assuming that it is up-to-date.\n\nNormally there is one entry, with stainherit = false, for each table column that has been analyzed. If the table has inheritance children, a second entry with stainherit = true is also created. This row represents the column's statistics over the inheritance tree, i.e., statistics for the data you'd see with SELECT column FROM table*, whereas the stainherit = false row represents the results of SELECT column FROM ONLY table.\n\npg_statistic also stores statistical data about the values of index expressions. These are described as if they were actual data columns; in particular, starelid references the index. No entry is made for an ordinary non-expression index column, however, since it would be redundant with the entry for the underlying table column. Currently, entries for index expressions always have stainherit = false.\n\nSince different kinds of statistics might be appropriate for different kinds of data, pg_statistic is designed not to assume very much about what sort of statistics it stores. Only extremely general statistics (such as nullness) are given dedicated columns in pg_statistic. Everything else is stored in \"slots\", which are groups of associated columns whose content is identified by a code number in one of the slot's columns. For more information see src/include/catalog/pg_statistic.h.\n\npg_statistic should not be readable by the public, since even statistical information about a table's contents might be considered sensitive. (Example: minimum and maximum values of a salary column might be quite interesting.) pg_stats is a publicly readable view on pg_statistic that only exposes information about those tables that are readable by the current user.","columns":[{"name":"starelid","type":"oid","description":"The table or index that the described column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staattnum","type":"smallint","description":"The number of the described column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stainherit","type":"boolean","description":"If true, the stats include inheritance child columns, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanullfrac","type":"real","description":"The fraction of the column's entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stawidth","type":"integer","description":"The average stored width, in bytes, of nonnull entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stadistinct","type":"real","description":"The number of distinct nonnull data values in the column. A value greater than zero is the actual number of distinct values. A value less than zero is the negative of a multiplier for the number of rows in the table; for example, a column in which values appear about twice on the average could be represented by stadistinct = -0.5. A zero value means the number of distinct values is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind1","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind2","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind3","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind4","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop1","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop2","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop3","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop4","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanumbers1","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers2","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":16,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers3","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers4","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stavalues1","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues2","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues3","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues4","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-statistic.html","source_path":"sources/postgresql/9.0/catalog-pg-statistic.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_statistic.h","definition_source_path":"sources/postgresql/9.0/source/pg_statistic.h","source_column_count":22,"supplemented_columns":["stakind1","stakind2","stakind3","stakind4","staop1","staop2","staop3","staop4","stanumbers1","stanumbers2","stanumbers3","stanumbers4","stavalues1","stavalues2","stavalues3","stavalues4"],"documentary_schema_source":"documentation+source-header","relation_oid":2619,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_statistic stores statistical data about the contents of the database. Entries are created by ANALYZE and subsequently used by the query planner. Note that all the statistical data is inherently approximate, even assuming that it is up-to-date.\n\nNormally there is one entry, with stainherit = false, for each table column that has been analyzed. If the table has inheritance children, a second entry with stainherit = true is also created. This row represents the column's statistics over the inheritance tree, i.e., statistics for the data you'd see with SELECT column FROM table*, whereas the stainherit = false row represents the results of SELECT column FROM ONLY table.\n\npg_statistic also stores statistical data about the values of index expressions. These are described as if they were actual data columns; in particular, starelid references the index. No entry is made for an ordinary non-expression index column, however, since it would be redundant with the entry for the underlying table column. Currently, entries for index expressions always have stainherit = false.\n\nSince different kinds of statistics might be appropriate for different kinds of data, pg_statistic is designed not to assume very much about what sort of statistics it stores. Only extremely general statistics (such as nullness) are given dedicated columns in pg_statistic. Everything else is stored in \"slots\", which are groups of associated columns whose content is identified by a code number in one of the slot's columns. For more information see src/include/catalog/pg_statistic.h.\n\npg_statistic should not be readable by the public, since even statistical information about a table's contents might be considered sensitive. (Example: minimum and maximum values of a salary column might be quite interesting.) pg_stats is a publicly readable view on pg_statistic that only exposes information about those tables that are readable by the current user.","columns":[{"name":"starelid","type":"oid","description":"The table or index that the described column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staattnum","type":"smallint","description":"The number of the described column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stainherit","type":"boolean","description":"If true, the stats include inheritance child columns, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanullfrac","type":"real","description":"The fraction of the column's entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stawidth","type":"integer","description":"The average stored width, in bytes, of nonnull entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stadistinct","type":"real","description":"The number of distinct nonnull data values in the column. A value greater than zero is the actual number of distinct values. A value less than zero is the negative of a multiplier for the number of rows in the table; for example, a column in which about 80% of the values are nonnull and each nonnull value appears about twice on average could be represented by stadistinct = -0.4. A zero value means the number of distinct values is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind1","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind2","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind3","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind4","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop1","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop2","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop3","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop4","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanumbers1","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers2","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":16,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers3","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers4","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stavalues1","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues2","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues3","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues4","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-statistic.html","source_path":"sources/postgresql/9.1/catalog-pg-statistic.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_statistic.h","definition_source_path":"sources/postgresql/9.1/source/pg_statistic.h","source_column_count":22,"supplemented_columns":["stakind1","stakind2","stakind3","stakind4","staop1","staop2","staop3","staop4","stanumbers1","stanumbers2","stanumbers3","stanumbers4","stavalues1","stavalues2","stavalues3","stavalues4"],"documentary_schema_source":"documentation+source-header","relation_oid":2619,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_statistic stores statistical data about the contents of the database. Entries are created by ANALYZE and subsequently used by the query planner. Note that all the statistical data is inherently approximate, even assuming that it is up-to-date.\n\nNormally there is one entry, with stainherit = false, for each table column that has been analyzed. If the table has inheritance children, a second entry with stainherit = true is also created. This row represents the column's statistics over the inheritance tree, i.e., statistics for the data you'd see with SELECT column FROM table*, whereas the stainherit = false row represents the results of SELECT column FROM ONLY table.\n\npg_statistic also stores statistical data about the values of index expressions. These are described as if they were actual data columns; in particular, starelid references the index. No entry is made for an ordinary non-expression index column, however, since it would be redundant with the entry for the underlying table column. Currently, entries for index expressions always have stainherit = false.\n\nSince different kinds of statistics might be appropriate for different kinds of data, pg_statistic is designed not to assume very much about what sort of statistics it stores. Only extremely general statistics (such as nullness) are given dedicated columns in pg_statistic. Everything else is stored in \"slots\", which are groups of associated columns whose content is identified by a code number in one of the slot's columns. For more information see src/include/catalog/pg_statistic.h.\n\npg_statistic should not be readable by the public, since even statistical information about a table's contents might be considered sensitive. (Example: minimum and maximum values of a salary column might be quite interesting.) pg_stats is a publicly readable view on pg_statistic that only exposes information about those tables that are readable by the current user.","columns":[{"name":"starelid","type":"oid","description":"The table or index that the described column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staattnum","type":"smallint","description":"The number of the described column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stainherit","type":"boolean","description":"If true, the stats include inheritance child columns, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanullfrac","type":"real","description":"The fraction of the column's entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stawidth","type":"integer","description":"The average stored width, in bytes, of nonnull entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stadistinct","type":"real","description":"The number of distinct nonnull data values in the column. A value greater than zero is the actual number of distinct values. A value less than zero is the negative of a multiplier for the number of rows in the table; for example, a column in which about 80% of the values are nonnull and each nonnull value appears about twice on average could be represented by stadistinct = -0.4. A zero value means the number of distinct values is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind1","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind2","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind3","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind4","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind5","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop1","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop2","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop3","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop4","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop5","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanumbers1","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers2","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers3","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers4","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers5","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stavalues1","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues2","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues3","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues4","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues5","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-statistic.html","source_path":"sources/postgresql/9.2/catalog-pg-statistic.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","definition_source_path":"sources/postgresql/9.2/source/pg_statistic.h","source_column_count":26,"supplemented_columns":["stakind1","stakind2","stakind3","stakind4","stakind5","staop1","staop2","staop3","staop4","staop5","stanumbers1","stanumbers2","stanumbers3","stanumbers4","stanumbers5","stavalues1","stavalues2","stavalues3","stavalues4","stavalues5"],"documentary_schema_source":"documentation+source-header","relation_oid":2619,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_statistic stores statistical data about the contents of the database. Entries are created by ANALYZE and subsequently used by the query planner. Note that all the statistical data is inherently approximate, even assuming that it is up-to-date.\n\nNormally there is one entry, with stainherit = false, for each table column that has been analyzed. If the table has inheritance children, a second entry with stainherit = true is also created. This row represents the column's statistics over the inheritance tree, i.e., statistics for the data you'd see with SELECT column FROM table*, whereas the stainherit = false row represents the results of SELECT column FROM ONLY table.\n\npg_statistic also stores statistical data about the values of index expressions. These are described as if they were actual data columns; in particular, starelid references the index. No entry is made for an ordinary non-expression index column, however, since it would be redundant with the entry for the underlying table column. Currently, entries for index expressions always have stainherit = false.\n\nSince different kinds of statistics might be appropriate for different kinds of data, pg_statistic is designed not to assume very much about what sort of statistics it stores. Only extremely general statistics (such as nullness) are given dedicated columns in pg_statistic. Everything else is stored in \"slots\", which are groups of associated columns whose content is identified by a code number in one of the slot's columns. For more information see src/include/catalog/pg_statistic.h.\n\npg_statistic should not be readable by the public, since even statistical information about a table's contents might be considered sensitive. (Example: minimum and maximum values of a salary column might be quite interesting.) pg_stats is a publicly readable view on pg_statistic that only exposes information about those tables that are readable by the current user.","columns":[{"name":"starelid","type":"oid","description":"The table or index that the described column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staattnum","type":"smallint","description":"The number of the described column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stainherit","type":"boolean","description":"If true, the stats include inheritance child columns, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanullfrac","type":"real","description":"The fraction of the column's entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stawidth","type":"integer","description":"The average stored width, in bytes, of nonnull entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stadistinct","type":"real","description":"The number of distinct nonnull data values in the column. A value greater than zero is the actual number of distinct values. A value less than zero is the negative of a multiplier for the number of rows in the table; for example, a column in which about 80% of the values are nonnull and each nonnull value appears about twice on average could be represented by stadistinct = -0.4. A zero value means the number of distinct values is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind1","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind2","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind3","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind4","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind5","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop1","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop2","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop3","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop4","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop5","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanumbers1","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers2","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers3","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers4","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers5","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stavalues1","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues2","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues3","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues4","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues5","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-statistic.html","source_path":"sources/postgresql/9.3/catalog-pg-statistic.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_statistic.h","definition_source_path":"sources/postgresql/9.3/source/pg_statistic.h","source_column_count":26,"supplemented_columns":["stakind1","stakind2","stakind3","stakind4","stakind5","staop1","staop2","staop3","staop4","staop5","stanumbers1","stanumbers2","stanumbers3","stanumbers4","stanumbers5","stavalues1","stavalues2","stavalues3","stavalues4","stavalues5"],"documentary_schema_source":"documentation+source-header","relation_oid":2619,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_statistic stores statistical data about the contents of the database. Entries are created by ANALYZE and subsequently used by the query planner. Note that all the statistical data is inherently approximate, even assuming that it is up-to-date.\n\nNormally there is one entry, with stainherit = false, for each table column that has been analyzed. If the table has inheritance children, a second entry with stainherit = true is also created. This row represents the column's statistics over the inheritance tree, i.e., statistics for the data you'd see with SELECT column FROM table*, whereas the stainherit = false row represents the results of SELECT column FROM ONLY table.\n\npg_statistic also stores statistical data about the values of index expressions. These are described as if they were actual data columns; in particular, starelid references the index. No entry is made for an ordinary non-expression index column, however, since it would be redundant with the entry for the underlying table column. Currently, entries for index expressions always have stainherit = false.\n\nSince different kinds of statistics might be appropriate for different kinds of data, pg_statistic is designed not to assume very much about what sort of statistics it stores. Only extremely general statistics (such as nullness) are given dedicated columns in pg_statistic. Everything else is stored in \"slots\", which are groups of associated columns whose content is identified by a code number in one of the slot's columns. For more information see src/include/catalog/pg_statistic.h.\n\npg_statistic should not be readable by the public, since even statistical information about a table's contents might be considered sensitive. (Example: minimum and maximum values of a salary column might be quite interesting.) pg_stats is a publicly readable view on pg_statistic that only exposes information about those tables that are readable by the current user.","columns":[{"name":"starelid","type":"oid","description":"The table or index that the described column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staattnum","type":"smallint","description":"The number of the described column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stainherit","type":"boolean","description":"If true, the stats include inheritance child columns, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanullfrac","type":"real","description":"The fraction of the column's entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stawidth","type":"integer","description":"The average stored width, in bytes, of nonnull entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stadistinct","type":"real","description":"The number of distinct nonnull data values in the column. A value greater than zero is the actual number of distinct values. A value less than zero is the negative of a multiplier for the number of rows in the table; for example, a column in which about 80% of the values are nonnull and each nonnull value appears about twice on average could be represented by stadistinct = -0.4. A zero value means the number of distinct values is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind1","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind2","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind3","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind4","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind5","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop1","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop2","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop3","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop4","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop5","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanumbers1","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers2","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers3","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers4","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers5","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stavalues1","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues2","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues3","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues4","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues5","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-statistic.html","source_path":"sources/postgresql/9.4/catalog-pg-statistic.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_statistic.h","definition_source_path":"sources/postgresql/9.4/source/pg_statistic.h","source_column_count":26,"supplemented_columns":["stakind1","stakind2","stakind3","stakind4","stakind5","staop1","staop2","staop3","staop4","staop5","stanumbers1","stanumbers2","stanumbers3","stanumbers4","stanumbers5","stavalues1","stavalues2","stavalues3","stavalues4","stavalues5"],"documentary_schema_source":"documentation+source-header","relation_oid":2619,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_statistic stores statistical data about the contents of the database. Entries are created by ANALYZE and subsequently used by the query planner. Note that all the statistical data is inherently approximate, even assuming that it is up-to-date.\n\nNormally there is one entry, with stainherit = false, for each table column that has been analyzed. If the table has inheritance children, a second entry with stainherit = true is also created. This row represents the column's statistics over the inheritance tree, i.e., statistics for the data you'd see with SELECT column FROM table*, whereas the stainherit = false row represents the results of SELECT column FROM ONLY table.\n\npg_statistic also stores statistical data about the values of index expressions. These are described as if they were actual data columns; in particular, starelid references the index. No entry is made for an ordinary non-expression index column, however, since it would be redundant with the entry for the underlying table column. Currently, entries for index expressions always have stainherit = false.\n\nSince different kinds of statistics might be appropriate for different kinds of data, pg_statistic is designed not to assume very much about what sort of statistics it stores. Only extremely general statistics (such as nullness) are given dedicated columns in pg_statistic. Everything else is stored in \"slots\", which are groups of associated columns whose content is identified by a code number in one of the slot's columns. For more information see src/include/catalog/pg_statistic.h.\n\npg_statistic should not be readable by the public, since even statistical information about a table's contents might be considered sensitive. (Example: minimum and maximum values of a salary column might be quite interesting.) pg_stats is a publicly readable view on pg_statistic that only exposes information about those tables that are readable by the current user.","columns":[{"name":"starelid","type":"oid","description":"The table or index that the described column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staattnum","type":"smallint","description":"The number of the described column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stainherit","type":"boolean","description":"If true, the stats include inheritance child columns, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanullfrac","type":"real","description":"The fraction of the column's entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stawidth","type":"integer","description":"The average stored width, in bytes, of nonnull entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stadistinct","type":"real","description":"The number of distinct nonnull data values in the column. A value greater than zero is the actual number of distinct values. A value less than zero is the negative of a multiplier for the number of rows in the table; for example, a column in which about 80% of the values are nonnull and each nonnull value appears about twice on average could be represented by stadistinct = -0.4. A zero value means the number of distinct values is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind1","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind2","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind3","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind4","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind5","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop1","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop2","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop3","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop4","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop5","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanumbers1","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers2","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers3","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers4","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers5","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stavalues1","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues2","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues3","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues4","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues5","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-statistic.html","source_path":"sources/postgresql/9.5/catalog-pg-statistic.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_statistic.h","definition_source_path":"sources/postgresql/9.5/source/pg_statistic.h","source_column_count":26,"supplemented_columns":["stakind1","stakind2","stakind3","stakind4","stakind5","staop1","staop2","staop3","staop4","staop5","stanumbers1","stanumbers2","stanumbers3","stanumbers4","stanumbers5","stavalues1","stavalues2","stavalues3","stavalues4","stavalues5"],"documentary_schema_source":"documentation+source-header","relation_oid":2619,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_statistic stores statistical data about the contents of the database. Entries are created by ANALYZE and subsequently used by the query planner. Note that all the statistical data is inherently approximate, even assuming that it is up-to-date.\n\nNormally there is one entry, with stainherit = false, for each table column that has been analyzed. If the table has inheritance children, a second entry with stainherit = true is also created. This row represents the column's statistics over the inheritance tree, i.e., statistics for the data you'd see with SELECT column FROM table*, whereas the stainherit = false row represents the results of SELECT column FROM ONLY table.\n\npg_statistic also stores statistical data about the values of index expressions. These are described as if they were actual data columns; in particular, starelid references the index. No entry is made for an ordinary non-expression index column, however, since it would be redundant with the entry for the underlying table column. Currently, entries for index expressions always have stainherit = false.\n\nSince different kinds of statistics might be appropriate for different kinds of data, pg_statistic is designed not to assume very much about what sort of statistics it stores. Only extremely general statistics (such as nullness) are given dedicated columns in pg_statistic. Everything else is stored in \"slots\", which are groups of associated columns whose content is identified by a code number in one of the slot's columns. For more information see src/include/catalog/pg_statistic.h.\n\npg_statistic should not be readable by the public, since even statistical information about a table's contents might be considered sensitive. (Example: minimum and maximum values of a salary column might be quite interesting.) pg_stats is a publicly readable view on pg_statistic that only exposes information about those tables that are readable by the current user.","columns":[{"name":"starelid","type":"oid","description":"The table or index that the described column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staattnum","type":"smallint","description":"The number of the described column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stainherit","type":"boolean","description":"If true, the stats include inheritance child columns, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanullfrac","type":"real","description":"The fraction of the column's entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stawidth","type":"integer","description":"The average stored width, in bytes, of nonnull entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stadistinct","type":"real","description":"The number of distinct nonnull data values in the column. A value greater than zero is the actual number of distinct values. A value less than zero is the negative of a multiplier for the number of rows in the table; for example, a column in which about 80% of the values are nonnull and each nonnull value appears about twice on average could be represented by stadistinct = -0.4. A zero value means the number of distinct values is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind1","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind2","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind3","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind4","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind5","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop1","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop2","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop3","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop4","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop5","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanumbers1","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers2","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers3","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers4","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers5","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stavalues1","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues2","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues3","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues4","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues5","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-statistic.html","source_path":"sources/postgresql/9.6/catalog-pg-statistic.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_statistic.h","definition_source_path":"sources/postgresql/9.6/source/pg_statistic.h","source_column_count":26,"supplemented_columns":["stakind1","stakind2","stakind3","stakind4","stakind5","staop1","staop2","staop3","staop4","staop5","stanumbers1","stanumbers2","stanumbers3","stanumbers4","stanumbers5","stavalues1","stavalues2","stavalues3","stavalues4","stavalues5"],"documentary_schema_source":"documentation+source-header","relation_oid":2619,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_statistic stores statistical data about the contents of the database. Entries are created by ANALYZE and subsequently used by the query planner. Note that all the statistical data is inherently approximate, even assuming that it is up-to-date.\n\nNormally there is one entry, with stainherit = false, for each table column that has been analyzed. If the table has inheritance children, a second entry with stainherit = true is also created. This row represents the column's statistics over the inheritance tree, i.e., statistics for the data you'd see with SELECT column FROM table*, whereas the stainherit = false row represents the results of SELECT column FROM ONLY table.\n\npg_statistic also stores statistical data about the values of index expressions. These are described as if they were actual data columns; in particular, starelid references the index. No entry is made for an ordinary non-expression index column, however, since it would be redundant with the entry for the underlying table column. Currently, entries for index expressions always have stainherit = false.\n\nSince different kinds of statistics might be appropriate for different kinds of data, pg_statistic is designed not to assume very much about what sort of statistics it stores. Only extremely general statistics (such as nullness) are given dedicated columns in pg_statistic. Everything else is stored in “slots”, which are groups of associated columns whose content is identified by a code number in one of the slot's columns. For more information see src/include/catalog/pg_statistic.h.\n\npg_statistic should not be readable by the public, since even statistical information about a table's contents might be considered sensitive. (Example: minimum and maximum values of a salary column might be quite interesting.) pg_stats is a publicly readable view on pg_statistic that only exposes information about those tables that are readable by the current user.","columns":[{"name":"starelid","type":"oid","description":"The table or index that the described column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staattnum","type":"smallint","description":"The number of the described column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stainherit","type":"boolean","description":"If true, the stats include inheritance child columns, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanullfrac","type":"real","description":"The fraction of the column's entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stawidth","type":"integer","description":"The average stored width, in bytes, of nonnull entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stadistinct","type":"real","description":"The number of distinct nonnull data values in the column. A value greater than zero is the actual number of distinct values. A value less than zero is the negative of a multiplier for the number of rows in the table; for example, a column in which about 80% of the values are nonnull and each nonnull value appears about twice on average could be represented by stadistinct = -0.4. A zero value means the number of distinct values is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind1","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind2","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind3","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind4","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind5","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop1","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop2","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop3","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop4","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop5","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanumbers1","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers2","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers3","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers4","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers5","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stavalues1","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues2","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues3","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues4","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues5","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-statistic.html","source_path":"sources/postgresql/10/catalog-pg-statistic.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic.h","definition_source_path":"sources/postgresql/10/source/pg_statistic.h","source_column_count":26,"supplemented_columns":["stakind1","stakind2","stakind3","stakind4","stakind5","staop1","staop2","staop3","staop4","staop5","stanumbers1","stanumbers2","stanumbers3","stanumbers4","stanumbers5","stavalues1","stavalues2","stavalues3","stavalues4","stavalues5"],"documentary_schema_source":"documentation+source-header","relation_oid":2619,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_statistic stores statistical data about the contents of the database. Entries are created by ANALYZE and subsequently used by the query planner. Note that all the statistical data is inherently approximate, even assuming that it is up-to-date.\n\nNormally there is one entry, with stainherit = false, for each table column that has been analyzed. If the table has inheritance children, a second entry with stainherit = true is also created. This row represents the column's statistics over the inheritance tree, i.e., statistics for the data you'd see with SELECT column FROM table*, whereas the stainherit = false row represents the results of SELECT column FROM ONLY table.\n\npg_statistic also stores statistical data about the values of index expressions. These are described as if they were actual data columns; in particular, starelid references the index. No entry is made for an ordinary non-expression index column, however, since it would be redundant with the entry for the underlying table column. Currently, entries for index expressions always have stainherit = false.\n\nSince different kinds of statistics might be appropriate for different kinds of data, pg_statistic is designed not to assume very much about what sort of statistics it stores. Only extremely general statistics (such as nullness) are given dedicated columns in pg_statistic. Everything else is stored in “slots”, which are groups of associated columns whose content is identified by a code number in one of the slot's columns. For more information see src/include/catalog/pg_statistic.h.\n\npg_statistic should not be readable by the public, since even statistical information about a table's contents might be considered sensitive. (Example: minimum and maximum values of a salary column might be quite interesting.) pg_stats is a publicly readable view on pg_statistic that only exposes information about those tables that are readable by the current user.","columns":[{"name":"starelid","type":"oid","description":"The table or index that the described column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staattnum","type":"smallint","description":"The number of the described column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stainherit","type":"boolean","description":"If true, the stats include inheritance child columns, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanullfrac","type":"real","description":"The fraction of the column's entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stawidth","type":"integer","description":"The average stored width, in bytes, of nonnull entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stadistinct","type":"real","description":"The number of distinct nonnull data values in the column. A value greater than zero is the actual number of distinct values. A value less than zero is the negative of a multiplier for the number of rows in the table; for example, a column in which about 80% of the values are nonnull and each nonnull value appears about twice on average could be represented by stadistinct = -0.4. A zero value means the number of distinct values is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind1","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind2","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind3","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind4","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind5","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop1","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop2","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop3","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop4","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop5","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanumbers1","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers2","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":18,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers3","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":19,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers4","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":20,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers5","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stavalues1","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues2","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues3","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues4","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues5","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-statistic.html","source_path":"sources/postgresql/11/catalog-pg-statistic.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic.h","definition_source_path":"sources/postgresql/11/source/pg_statistic.h","source_column_count":26,"supplemented_columns":["stakind1","stakind2","stakind3","stakind4","stakind5","staop1","staop2","staop3","staop4","staop5","stanumbers1","stanumbers2","stanumbers3","stanumbers4","stanumbers5","stavalues1","stavalues2","stavalues3","stavalues4","stavalues5"],"documentary_schema_source":"documentation+source-header","relation_oid":2619,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_statistic stores statistical data about the contents of the database. Entries are created by ANALYZE and subsequently used by the query planner. Note that all the statistical data is inherently approximate, even assuming that it is up-to-date.\n\nNormally there is one entry, with stainherit = false, for each table column that has been analyzed. If the table has inheritance children, a second entry with stainherit = true is also created. This row represents the column's statistics over the inheritance tree, i.e., statistics for the data you'd see with SELECT column FROM table*, whereas the stainherit = false row represents the results of SELECT column FROM ONLY table.\n\npg_statistic also stores statistical data about the values of index expressions. These are described as if they were actual data columns; in particular, starelid references the index. No entry is made for an ordinary non-expression index column, however, since it would be redundant with the entry for the underlying table column. Currently, entries for index expressions always have stainherit = false.\n\nSince different kinds of statistics might be appropriate for different kinds of data, pg_statistic is designed not to assume very much about what sort of statistics it stores. Only extremely general statistics (such as nullness) are given dedicated columns in pg_statistic. Everything else is stored in “slots”, which are groups of associated columns whose content is identified by a code number in one of the slot's columns. For more information see src/include/catalog/pg_statistic.h.\n\npg_statistic should not be readable by the public, since even statistical information about a table's contents might be considered sensitive. (Example: minimum and maximum values of a salary column might be quite interesting.) pg_stats is a publicly readable view on pg_statistic that only exposes information about those tables that are readable by the current user.","columns":[{"name":"starelid","type":"oid","description":"The table or index that the described column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staattnum","type":"smallint","description":"The number of the described column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stainherit","type":"boolean","description":"If true, the stats include inheritance child columns, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanullfrac","type":"real","description":"The fraction of the column's entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stawidth","type":"integer","description":"The average stored width, in bytes, of nonnull entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stadistinct","type":"real","description":"The number of distinct nonnull data values in the column. A value greater than zero is the actual number of distinct values. A value less than zero is the negative of a multiplier for the number of rows in the table; for example, a column in which about 80% of the values are nonnull and each nonnull value appears about twice on average could be represented by stadistinct = -0.4. A zero value means the number of distinct values is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind1","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind2","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind3","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind4","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind5","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop1","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop2","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop3","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop4","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop5","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll1","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll2","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll3","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll4","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll5","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanumbers1","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers2","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers3","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers4","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers5","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":26,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stavalues1","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues2","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues3","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues4","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues5","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-statistic.html","source_path":"sources/postgresql/12/catalog-pg-statistic.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","definition_source_path":"sources/postgresql/12/source/pg_statistic.h","source_column_count":31,"supplemented_columns":["stakind1","stakind2","stakind3","stakind4","stakind5","staop1","staop2","staop3","staop4","staop5","stacoll1","stacoll2","stacoll3","stacoll4","stacoll5","stanumbers1","stanumbers2","stanumbers3","stanumbers4","stanumbers5","stavalues1","stavalues2","stavalues3","stavalues4","stavalues5"],"documentary_schema_source":"documentation+source-header","relation_oid":2619,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_statistic stores statistical data about the contents of the database. Entries are created by ANALYZE and subsequently used by the query planner. Note that all the statistical data is inherently approximate, even assuming that it is up-to-date.\n\nNormally there is one entry, with stainherit = false, for each table column that has been analyzed. If the table has inheritance children, a second entry with stainherit = true is also created. This row represents the column's statistics over the inheritance tree, i.e., statistics for the data you'd see with SELECT column FROM table*, whereas the stainherit = false row represents the results of SELECT column FROM ONLY table.\n\npg_statistic also stores statistical data about the values of index expressions. These are described as if they were actual data columns; in particular, starelid references the index. No entry is made for an ordinary non-expression index column, however, since it would be redundant with the entry for the underlying table column. Currently, entries for index expressions always have stainherit = false.\n\nSince different kinds of statistics might be appropriate for different kinds of data, pg_statistic is designed not to assume very much about what sort of statistics it stores. Only extremely general statistics (such as nullness) are given dedicated columns in pg_statistic. Everything else is stored in “slots”, which are groups of associated columns whose content is identified by a code number in one of the slot's columns. For more information see src/include/catalog/pg_statistic.h.\n\npg_statistic should not be readable by the public, since even statistical information about a table's contents might be considered sensitive. (Example: minimum and maximum values of a salary column might be quite interesting.) pg_stats is a publicly readable view on pg_statistic that only exposes information about those tables that are readable by the current user.","columns":[{"name":"starelid","type":"oid","description":"The table or index that the described column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staattnum","type":"smallint","description":"The number of the described column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stainherit","type":"boolean","description":"If true, the stats include inheritance child columns, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanullfrac","type":"real","description":"The fraction of the column's entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stawidth","type":"integer","description":"The average stored width, in bytes, of nonnull entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stadistinct","type":"real","description":"The number of distinct nonnull data values in the column. A value greater than zero is the actual number of distinct values. A value less than zero is the negative of a multiplier for the number of rows in the table; for example, a column in which about 80% of the values are nonnull and each nonnull value appears about twice on average could be represented by stadistinct = -0.4. A zero value means the number of distinct values is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind1","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind2","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind3","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind4","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind5","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop1","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop2","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop3","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop4","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop5","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll1","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll2","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll3","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll4","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll5","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanumbers1","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers2","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers3","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers4","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers5","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":26,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stavalues1","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues2","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues3","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues4","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues5","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-statistic.html","source_path":"sources/postgresql/13/catalog-pg-statistic.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic.h","definition_source_path":"sources/postgresql/13/source/pg_statistic.h","source_column_count":31,"supplemented_columns":["stakind1","stakind2","stakind3","stakind4","stakind5","staop1","staop2","staop3","staop4","staop5","stacoll1","stacoll2","stacoll3","stacoll4","stacoll5","stanumbers1","stanumbers2","stanumbers3","stanumbers4","stanumbers5","stavalues1","stavalues2","stavalues3","stavalues4","stavalues5"],"documentary_schema_source":"documentation+source-header","relation_oid":2619,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_statistic stores statistical data about the contents of the database. Entries are created by ANALYZE and subsequently used by the query planner. Note that all the statistical data is inherently approximate, even assuming that it is up-to-date.\n\nNormally there is one entry, with stainherit = false, for each table column that has been analyzed. If the table has inheritance children, a second entry with stainherit = true is also created. This row represents the column's statistics over the inheritance tree, i.e., statistics for the data you'd see with SELECT column FROM table*, whereas the stainherit = false row represents the results of SELECT column FROM ONLY table.\n\npg_statistic also stores statistical data about the values of index expressions. These are described as if they were actual data columns; in particular, starelid references the index. No entry is made for an ordinary non-expression index column, however, since it would be redundant with the entry for the underlying table column. Currently, entries for index expressions always have stainherit = false.\n\nSince different kinds of statistics might be appropriate for different kinds of data, pg_statistic is designed not to assume very much about what sort of statistics it stores. Only extremely general statistics (such as nullness) are given dedicated columns in pg_statistic. Everything else is stored in “slots”, which are groups of associated columns whose content is identified by a code number in one of the slot's columns. For more information see src/include/catalog/pg_statistic.h.\n\npg_statistic should not be readable by the public, since even statistical information about a table's contents might be considered sensitive. (Example: minimum and maximum values of a salary column might be quite interesting.) pg_stats is a publicly readable view on pg_statistic that only exposes information about those tables that are readable by the current user.","columns":[{"name":"starelid","type":"oid","description":"The table or index that the described column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staattnum","type":"smallint","description":"The number of the described column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stainherit","type":"boolean","description":"If true, the stats include inheritance child columns, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanullfrac","type":"real","description":"The fraction of the column's entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stawidth","type":"integer","description":"The average stored width, in bytes, of nonnull entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stadistinct","type":"real","description":"The number of distinct nonnull data values in the column. A value greater than zero is the actual number of distinct values. A value less than zero is the negative of a multiplier for the number of rows in the table; for example, a column in which about 80% of the values are nonnull and each nonnull value appears about twice on average could be represented by stadistinct = -0.4. A zero value means the number of distinct values is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind1","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind2","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind3","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind4","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind5","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop1","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop2","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop3","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop4","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop5","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll1","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll2","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll3","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll4","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll5","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanumbers1","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers2","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers3","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers4","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers5","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":26,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stavalues1","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues2","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues3","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues4","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues5","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-statistic.html","source_path":"sources/postgresql/14/catalog-pg-statistic.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic.h","definition_source_path":"sources/postgresql/14/source/pg_statistic.h","source_column_count":31,"supplemented_columns":["stakind1","stakind2","stakind3","stakind4","stakind5","staop1","staop2","staop3","staop4","staop5","stacoll1","stacoll2","stacoll3","stacoll4","stacoll5","stanumbers1","stanumbers2","stanumbers3","stanumbers4","stanumbers5","stavalues1","stavalues2","stavalues3","stavalues4","stavalues5"],"documentary_schema_source":"documentation+source-header","relation_oid":2619,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_statistic stores statistical data about the contents of the database. Entries are created by ANALYZE and subsequently used by the query planner. Note that all the statistical data is inherently approximate, even assuming that it is up-to-date.\n\nNormally there is one entry, with stainherit = false, for each table column that has been analyzed. If the table has inheritance children or partitions, a second entry with stainherit = true is also created. This row represents the column's statistics over the inheritance tree, i.e., statistics for the data you'd see with SELECT column FROM table*, whereas the stainherit = false row represents the results of SELECT column FROM ONLY table.\n\npg_statistic also stores statistical data about the values of index expressions. These are described as if they were actual data columns; in particular, starelid references the index. No entry is made for an ordinary non-expression index column, however, since it would be redundant with the entry for the underlying table column. Currently, entries for index expressions always have stainherit = false.\n\nSince different kinds of statistics might be appropriate for different kinds of data, pg_statistic is designed not to assume very much about what sort of statistics it stores. Only extremely general statistics (such as nullness) are given dedicated columns in pg_statistic. Everything else is stored in “slots”, which are groups of associated columns whose content is identified by a code number in one of the slot's columns. For more information see src/include/catalog/pg_statistic.h.\n\npg_statistic should not be readable by the public, since even statistical information about a table's contents might be considered sensitive. (Example: minimum and maximum values of a salary column might be quite interesting.) pg_stats is a publicly readable view on pg_statistic that only exposes information about those tables that are readable by the current user.","columns":[{"name":"starelid","type":"oid","description":"The table or index that the described column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staattnum","type":"smallint","description":"The number of the described column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stainherit","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanullfrac","type":"real","description":"The fraction of the column's entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stawidth","type":"integer","description":"The average stored width, in bytes, of nonnull entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stadistinct","type":"real","description":"The number of distinct nonnull data values in the column. A value greater than zero is the actual number of distinct values. A value less than zero is the negative of a multiplier for the number of rows in the table; for example, a column in which about 80% of the values are nonnull and each nonnull value appears about twice on average could be represented by stadistinct = -0.4. A zero value means the number of distinct values is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind1","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind2","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind3","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind4","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind5","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop1","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop2","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop3","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop4","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop5","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll1","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll2","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll3","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll4","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll5","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanumbers1","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers2","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers3","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers4","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers5","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":26,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stavalues1","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues2","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues3","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues4","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues5","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-statistic.html","source_path":"sources/postgresql/15/catalog-pg-statistic.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic.h","definition_source_path":"sources/postgresql/15/source/pg_statistic.h","source_column_count":31,"supplemented_columns":["stakind1","stakind2","stakind3","stakind4","stakind5","staop1","staop2","staop3","staop4","staop5","stacoll1","stacoll2","stacoll3","stacoll4","stacoll5","stanumbers1","stanumbers2","stanumbers3","stanumbers4","stanumbers5","stavalues1","stavalues2","stavalues3","stavalues4","stavalues5"],"documentary_schema_source":"documentation+source-header","relation_oid":2619,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_statistic stores statistical data about the contents of the database. Entries are created by ANALYZE and subsequently used by the query planner. Note that all the statistical data is inherently approximate, even assuming that it is up-to-date.\n\nNormally there is one entry, with stainherit = false, for each table column that has been analyzed. If the table has inheritance children or partitions, a second entry with stainherit = true is also created. This row represents the column's statistics over the inheritance tree, i.e., statistics for the data you'd see with SELECT column FROM table*, whereas the stainherit = false row represents the results of SELECT column FROM ONLY table.\n\npg_statistic also stores statistical data about the values of index expressions. These are described as if they were actual data columns; in particular, starelid references the index. No entry is made for an ordinary non-expression index column, however, since it would be redundant with the entry for the underlying table column. Currently, entries for index expressions always have stainherit = false.\n\nSince different kinds of statistics might be appropriate for different kinds of data, pg_statistic is designed not to assume very much about what sort of statistics it stores. Only extremely general statistics (such as nullness) are given dedicated columns in pg_statistic. Everything else is stored in “slots”, which are groups of associated columns whose content is identified by a code number in one of the slot's columns. For more information see src/include/catalog/pg_statistic.h.\n\npg_statistic should not be readable by the public, since even statistical information about a table's contents might be considered sensitive. (Example: minimum and maximum values of a salary column might be quite interesting.) pg_stats is a publicly readable view on pg_statistic that only exposes information about those tables that are readable by the current user.","columns":[{"name":"starelid","type":"oid","description":"The table or index that the described column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staattnum","type":"smallint","description":"The number of the described column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stainherit","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanullfrac","type":"real","description":"The fraction of the column's entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stawidth","type":"integer","description":"The average stored width, in bytes, of nonnull entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stadistinct","type":"real","description":"The number of distinct nonnull data values in the column. A value greater than zero is the actual number of distinct values. A value less than zero is the negative of a multiplier for the number of rows in the table; for example, a column in which about 80% of the values are nonnull and each nonnull value appears about twice on average could be represented by stadistinct = -0.4. A zero value means the number of distinct values is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind1","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind2","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind3","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind4","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind5","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop1","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop2","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop3","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop4","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop5","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll1","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll2","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll3","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll4","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll5","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanumbers1","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers2","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers3","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers4","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers5","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":26,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stavalues1","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues2","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues3","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues4","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues5","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-statistic.html","source_path":"sources/postgresql/16/catalog-pg-statistic.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic.h","definition_source_path":"sources/postgresql/16/source/pg_statistic.h","source_column_count":31,"supplemented_columns":["stakind1","stakind2","stakind3","stakind4","stakind5","staop1","staop2","staop3","staop4","staop5","stacoll1","stacoll2","stacoll3","stacoll4","stacoll5","stanumbers1","stanumbers2","stanumbers3","stanumbers4","stanumbers5","stavalues1","stavalues2","stavalues3","stavalues4","stavalues5"],"documentary_schema_source":"documentation+source-header","relation_oid":2619,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_statistic stores statistical data about the contents of the database. Entries are created by ANALYZE and subsequently used by the query planner. Note that all the statistical data is inherently approximate, even assuming that it is up-to-date.\n\nNormally there is one entry, with stainherit = false, for each table column that has been analyzed. If the table has inheritance children or partitions, a second entry with stainherit = true is also created. This row represents the column's statistics over the inheritance tree, i.e., statistics for the data you'd see with SELECT column FROM table*, whereas the stainherit = false row represents the results of SELECT column FROM ONLY table.\n\npg_statistic also stores statistical data about the values of index expressions. These are described as if they were actual data columns; in particular, starelid references the index. No entry is made for an ordinary non-expression index column, however, since it would be redundant with the entry for the underlying table column. Currently, entries for index expressions always have stainherit = false.\n\nSince different kinds of statistics might be appropriate for different kinds of data, pg_statistic is designed not to assume very much about what sort of statistics it stores. Only extremely general statistics (such as nullness) are given dedicated columns in pg_statistic. Everything else is stored in “slots”, which are groups of associated columns whose content is identified by a code number in one of the slot's columns. For more information see src/include/catalog/pg_statistic.h.\n\npg_statistic should not be readable by the public, since even statistical information about a table's contents might be considered sensitive. (Example: minimum and maximum values of a salary column might be quite interesting.) pg_stats is a publicly readable view on pg_statistic that only exposes information about those tables that are readable by the current user.","columns":[{"name":"starelid","type":"oid","description":"The table or index that the described column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staattnum","type":"smallint","description":"The number of the described column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stainherit","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanullfrac","type":"real","description":"The fraction of the column's entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stawidth","type":"integer","description":"The average stored width, in bytes, of nonnull entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stadistinct","type":"real","description":"The number of distinct nonnull data values in the column. A value greater than zero is the actual number of distinct values. A value less than zero is the negative of a multiplier for the number of rows in the table; for example, a column in which about 80% of the values are nonnull and each nonnull value appears about twice on average could be represented by stadistinct = -0.4. A zero value means the number of distinct values is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind1","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind2","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind3","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind4","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind5","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop1","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop2","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop3","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop4","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop5","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll1","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll2","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll3","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll4","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll5","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanumbers1","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers2","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers3","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers4","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers5","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":26,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stavalues1","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues2","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues3","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues4","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues5","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-statistic.html","source_path":"sources/postgresql/17/catalog-pg-statistic.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic.h","definition_source_path":"sources/postgresql/17/source/pg_statistic.h","source_column_count":31,"supplemented_columns":["stakind1","stakind2","stakind3","stakind4","stakind5","staop1","staop2","staop3","staop4","staop5","stacoll1","stacoll2","stacoll3","stacoll4","stacoll5","stanumbers1","stanumbers2","stanumbers3","stanumbers4","stanumbers5","stavalues1","stavalues2","stavalues3","stavalues4","stavalues5"],"documentary_schema_source":"documentation+source-header","relation_oid":2619,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_statistic stores statistical data about the contents of the database. Entries are created by ANALYZE and subsequently used by the query planner. Note that all the statistical data is inherently approximate, even assuming that it is up-to-date.\n\nNormally there is one entry, with stainherit = false, for each table column that has been analyzed. If the table has inheritance children or partitions, a second entry with stainherit = true is also created. This row represents the column's statistics over the inheritance tree, i.e., statistics for the data you'd see with SELECT column FROM table*, whereas the stainherit = false row represents the results of SELECT column FROM ONLY table.\n\npg_statistic also stores statistical data about the values of index expressions. These are described as if they were actual data columns; in particular, starelid references the index. No entry is made for an ordinary non-expression index column, however, since it would be redundant with the entry for the underlying table column. Currently, entries for index expressions always have stainherit = false.\n\nSince different kinds of statistics might be appropriate for different kinds of data, pg_statistic is designed not to assume very much about what sort of statistics it stores. Only extremely general statistics (such as nullness) are given dedicated columns in pg_statistic. Everything else is stored in “slots”, which are groups of associated columns whose content is identified by a code number in one of the slot's columns. For more information see src/include/catalog/pg_statistic.h.\n\npg_statistic should not be readable by the public, since even statistical information about a table's contents might be considered sensitive. (Example: minimum and maximum values of a salary column might be quite interesting.) pg_stats is a publicly readable view on pg_statistic that only exposes information about those tables that are readable by the current user.","columns":[{"name":"starelid","type":"oid","description":"The table or index that the described column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staattnum","type":"smallint","description":"The number of the described column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stainherit","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanullfrac","type":"real","description":"The fraction of the column's entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stawidth","type":"integer","description":"The average stored width, in bytes, of nonnull entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stadistinct","type":"real","description":"The number of distinct nonnull data values in the column. A value greater than zero is the actual number of distinct values. A value less than zero is the negative of a multiplier for the number of rows in the table; for example, a column in which about 80% of the values are nonnull and each nonnull value appears about twice on average could be represented by stadistinct = -0.4. A zero value means the number of distinct values is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind1","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind2","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind3","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind4","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind5","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop1","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop2","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop3","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop4","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop5","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll1","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll2","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll3","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll4","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll5","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanumbers1","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers2","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers3","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers4","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers5","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":26,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stavalues1","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues2","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues3","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues4","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues5","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-statistic.html","source_path":"sources/postgresql/18/catalog-pg-statistic.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic.h","definition_source_path":"sources/postgresql/18/source/pg_statistic.h","source_column_count":31,"supplemented_columns":["stakind1","stakind2","stakind3","stakind4","stakind5","staop1","staop2","staop3","staop4","staop5","stacoll1","stacoll2","stacoll3","stacoll4","stacoll5","stanumbers1","stanumbers2","stanumbers3","stanumbers4","stanumbers5","stavalues1","stavalues2","stavalues3","stavalues4","stavalues5"],"documentary_schema_source":"documentation+source-header","relation_oid":2619,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_statistic stores statistical data about the contents of the database. Entries are created by ANALYZE and subsequently used by the query planner. Note that all the statistical data is inherently approximate, even assuming that it is up-to-date.\n\nNormally there is one entry, with stainherit = false, for each table column that has been analyzed. If the table has inheritance children or partitions, a second entry with stainherit = true is also created. This row represents the column's statistics over the inheritance tree, i.e., statistics for the data you'd see with SELECT column FROM table*, whereas the stainherit = false row represents the results of SELECT column FROM ONLY table.\n\npg_statistic also stores statistical data about the values of index expressions. These are described as if they were actual data columns; in particular, starelid references the index. No entry is made for an ordinary non-expression index column, however, since it would be redundant with the entry for the underlying table column. Currently, entries for index expressions always have stainherit = false.\n\nSince different kinds of statistics might be appropriate for different kinds of data, pg_statistic is designed not to assume very much about what sort of statistics it stores. Only extremely general statistics (such as nullness) are given dedicated columns in pg_statistic. Everything else is stored in “slots”, which are groups of associated columns whose content is identified by a code number in one of the slot's columns. For more information see src/include/catalog/pg_statistic.h.\n\npg_statistic should not be readable by the public, since even statistical information about a table's contents might be considered sensitive. (Example: minimum and maximum values of a salary column might be quite interesting.) pg_stats is a publicly readable view on pg_statistic that only exposes information about those tables that are readable by the current user.","columns":[{"name":"starelid","type":"oid","description":"The table or index that the described column belongs to","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staattnum","type":"smallint","description":"The number of the described column","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stainherit","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanullfrac","type":"real","description":"The fraction of the column's entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stawidth","type":"integer","description":"The average stored width, in bytes, of nonnull entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stadistinct","type":"real","description":"The number of distinct nonnull data values in the column. A value greater than zero is the actual number of distinct values. A value less than zero is the negative of a multiplier for the number of rows in the table; for example, a column in which about 80% of the values are nonnull and each nonnull value appears about twice on average could be represented by stadistinct = -0.4. A zero value means the number of distinct values is unknown.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind1","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind2","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind3","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind4","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stakind5","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop1","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop2","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop3","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop4","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop5","type":"oid","description":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll1","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll2","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll3","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll4","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll5","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanumbers1","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers2","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":23,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers3","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":24,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers4","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":25,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stanumbers5","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":26,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stavalues1","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues2","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues3","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues4","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stavalues5","type":"anyarray","description":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-statistic.html","source_path":"sources/postgresql/19/catalog-pg-statistic.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic.h","definition_source_path":"sources/postgresql/19/source/pg_statistic.h","source_column_count":31,"supplemented_columns":["stakind1","stakind2","stakind3","stakind4","stakind5","staop1","staop2","staop3","staop4","staop5","stacoll1","stacoll2","stacoll3","stacoll4","stacoll5","stanumbers1","stanumbers2","stanumbers3","stanumbers4","stanumbers5","stavalues1","stavalues2","stavalues3","stavalues4","stavalues5"],"documentary_schema_source":"documentation+source-header","relation_oid":2619,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"stadistinct","from":"The number of distinct nonnull data values in the column. A value greater than zero is the actual number of distinct values. A value less than zero is the negative of a multiplier for the number of rows in the table; for example, a column in which values appear about twice on the average could be represented by stadistinct = -0.5. A zero value means the number of distinct values is unknown.","to":"The number of distinct nonnull data values in the column. A value greater than zero is the actual number of distinct values. A value less than zero is the negative of a multiplier for the number of rows in the table; for example, a column in which about 80% of the values are nonnull and each nonnull value appears about twice on average could be represented by stadistinct = -0.4. A zero value means the number of distinct values is unknown."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.1","to":"9.2","status":"changed","added_columns":[{"name":"stakind5","type":"smallint","description":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","documented_name":"stakindN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","documented_type":"int2","hidden":false,"type_oid":21,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"staop5","type":"oid","description":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","references":"pg_operator.oid","documented_name":"staopN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stanumbers5","type":"real[]","description":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","documented_name":"stanumbersN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":21,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"stavalues5","type":"anyarray","description":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","documented_name":"stavaluesN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":2277,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"stavalues1","from":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, so there is no way to define these columns' type more specifically than anyarray.","to":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray."},{"name":"stavalues2","from":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, so there is no way to define these columns' type more specifically than anyarray.","to":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray."},{"name":"stavalues3","from":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, so there is no way to define these columns' type more specifically than anyarray.","to":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray."},{"name":"stavalues4","from":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, so there is no way to define these columns' type more specifically than anyarray.","to":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"stakind1","from":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","to":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row."},{"name":"stakind2","from":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","to":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row."},{"name":"stakind3","from":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","to":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row."},{"name":"stakind4","from":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","to":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row."},{"name":"stakind5","from":"A code number indicating the kind of statistics stored in the Nth \"slot\" of the pg_statistic row.","to":"A code number indicating the kind of statistics stored in the Nth “slot” of the pg_statistic row."},{"name":"stanumbers1","from":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","to":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values"},{"name":"stanumbers2","from":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","to":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values"},{"name":"stanumbers3","from":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","to":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values"},{"name":"stanumbers4","from":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","to":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values"},{"name":"stanumbers5","from":"Numerical statistics of the appropriate kind for the Nth \"slot\", or null if the slot kind does not involve numerical values","to":"Numerical statistics of the appropriate kind for the Nth “slot”, or null if the slot kind does not involve numerical values"},{"name":"staop1","from":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","to":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data."},{"name":"staop2","from":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","to":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data."},{"name":"staop3","from":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","to":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data."},{"name":"staop4","from":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","to":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data."},{"name":"staop5","from":"An operator used to derive the statistics stored in the Nth \"slot\". For example, a histogram slot would show the < operator that defines the sort order of the data.","to":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data."},{"name":"stavalues1","from":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","to":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray."},{"name":"stavalues2","from":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","to":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray."},{"name":"stavalues3","from":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","to":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray."},{"name":"stavalues4","from":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","to":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray."},{"name":"stavalues5","from":"Column data values of the appropriate kind for the Nth \"slot\", or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray.","to":"Column data values of the appropriate kind for the Nth “slot”, or null if the slot kind does not store any data values. Each array's element values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[{"name":"stacoll1","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll2","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll3","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll4","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stacoll5","type":"oid","description":"The collation used to derive the statistics stored in the Nth “slot”. For example, a histogram slot for a collatable column would show the collation that defines the sort order of the data. Zero for noncollatable data.","references":"pg_collation.oid","documented_name":"stacollN","schema_note":"Expanded documentation slot placeholder using the version-specific catalog header.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic.h","hidden":false,"type_oid":26,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"staop1","from":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","to":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator."},{"name":"staop2","from":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","to":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator."},{"name":"staop3","from":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","to":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator."},{"name":"staop4","from":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","to":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator."},{"name":"staop5","from":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data.","to":"An operator used to derive the statistics stored in the Nth “slot”. For example, a histogram slot would show the < operator that defines the sort order of the data. Zero if the statistics kind does not require an operator."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"stainherit","from":"If true, the stats include inheritance child columns, not just the values in the specified relation","to":"If true, the stats include values from child tables, not just the values in the specified relation"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_statistic_ext","kind":"catalog","summary":"extended planner statistics (definition)","first_version":"10","last_version":"19","versions":{"10":{"description":"The catalog pg_statistic_ext holds extended planner statistics. Each row in this catalog corresponds to a statistics object created with CREATE STATISTICS.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic_ext.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxrelid","type":"oid","description":"Table containing the columns described by this object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxname","type":"name","description":"Name of the statistics object","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxnamespace","type":"oid","description":"The OID of the namespace that contains this statistics object","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxowner","type":"oid","description":"Owner of the statistics object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxkeys","type":"int2vector","description":"An array of attribute numbers, indicating which table columns are covered by this statistics object; for example a value of 1 3 would mean that the first and the third table columns are covered","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"stxkind","type":"\"char\"[]","description":"An array containing codes for the enabled statistics kinds; valid values are: d for n-distinct statistics, f for functional dependency statistics","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"stxndistinct","type":"pg_ndistinct","description":"N-distinct counts, serialized as pg_ndistinct type","hidden":false,"type_oid":3361,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxdependencies","type":"pg_dependencies","description":"Functional dependency statistics, serialized as pg_dependencies type","hidden":false,"type_oid":3402,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-statistic-ext.html","source_path":"sources/postgresql/10/catalog-pg-statistic-ext.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic_ext.h","definition_source_path":"sources/postgresql/10/source/pg_statistic_ext.h","source_column_count":9,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3381,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_statistic_ext holds extended planner statistics. Each row in this catalog corresponds to a statistics object created with CREATE STATISTICS.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic_ext.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxrelid","type":"oid","description":"Table containing the columns described by this object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxname","type":"name","description":"Name of the statistics object","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxnamespace","type":"oid","description":"The OID of the namespace that contains this statistics object","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxowner","type":"oid","description":"Owner of the statistics object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxkeys","type":"int2vector","description":"An array of attribute numbers, indicating which table columns are covered by this statistics object; for example a value of 1 3 would mean that the first and the third table columns are covered","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"stxkind","type":"\"char\"[]","description":"An array containing codes for the enabled statistics kinds; valid values are: d for n-distinct statistics, f for functional dependency statistics","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"stxndistinct","type":"pg_ndistinct","description":"N-distinct counts, serialized as pg_ndistinct type","hidden":false,"type_oid":3361,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxdependencies","type":"pg_dependencies","description":"Functional dependency statistics, serialized as pg_dependencies type","hidden":false,"type_oid":3402,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-statistic-ext.html","source_path":"sources/postgresql/11/catalog-pg-statistic-ext.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_statistic_ext.h","definition_source_path":"sources/postgresql/11/source/pg_statistic_ext.h","source_column_count":9,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3381,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_statistic_ext holds definitions of extended planner statistics. Each row in this catalog corresponds to a statistics object created with CREATE STATISTICS.","columns":[{"name":"oid","type":"oid","description":"Row identifier.","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic_ext.h","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxrelid","type":"oid","description":"Table containing the columns described by this object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxname","type":"name","description":"Name of the statistics object","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxnamespace","type":"oid","description":"The OID of the namespace that contains this statistics object","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxowner","type":"oid","description":"Owner of the statistics object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxkeys","type":"int2vector","description":"An array of attribute numbers, indicating which table columns are covered by this statistics object; for example a value of 1 3 would mean that the first and the third table columns are covered","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"stxkind","type":"\"char\"[]","description":"An array containing codes for the enabled statistics kinds; valid values are: d for n-distinct statistics, f for functional dependency statistics, and m for most common values (MCV) list statistics","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-statistic-ext.html","source_path":"sources/postgresql/12/catalog-pg-statistic-ext.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic_ext.h","definition_source_path":"sources/postgresql/12/source/pg_statistic_ext.h","source_column_count":7,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3381,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_statistic_ext holds definitions of extended planner statistics. Each row in this catalog corresponds to a statistics object created with CREATE STATISTICS.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxrelid","type":"oid","description":"Table containing the columns described by this object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxname","type":"name","description":"Name of the statistics object","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxnamespace","type":"oid","description":"The OID of the namespace that contains this statistics object","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxowner","type":"oid","description":"Owner of the statistics object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxstattarget","type":"integer","description":"stxstattarget controls the level of detail of statistics accumulated for this statistics object by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the maximum of the statistics targets of the referenced columns, if set, or the system default statistics target. Positive values of stxstattarget determine the target number of “most common values” to collect.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxkeys","type":"int2vector","description":"An array of attribute numbers, indicating which table columns are covered by this statistics object; for example a value of 1 3 would mean that the first and the third table columns are covered","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"stxkind","type":"\"char\"[]","description":"An array containing codes for the enabled statistics kinds; valid values are: d for n-distinct statistics, f for functional dependency statistics, and m for most common values (MCV) list statistics","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-statistic-ext.html","source_path":"sources/postgresql/13/catalog-pg-statistic-ext.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic_ext.h","definition_source_path":"sources/postgresql/13/source/pg_statistic_ext.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3381,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_statistic_ext holds definitions of extended planner statistics. Each row in this catalog corresponds to a statistics object created with CREATE STATISTICS.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxrelid","type":"oid","description":"Table containing the columns described by this object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxname","type":"name","description":"Name of the statistics object","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxnamespace","type":"oid","description":"The OID of the namespace that contains this statistics object","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxowner","type":"oid","description":"Owner of the statistics object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxstattarget","type":"integer","description":"stxstattarget controls the level of detail of statistics accumulated for this statistics object by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the maximum of the statistics targets of the referenced columns, if set, or the system default statistics target. Positive values of stxstattarget determine the target number of “most common values” to collect.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxkeys","type":"int2vector","description":"An array of attribute numbers, indicating which table columns are covered by this statistics object; for example a value of 1 3 would mean that the first and the third table columns are covered","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"stxkind","type":"\"char\"[]","description":"An array containing codes for the enabled statistics kinds; valid values are: d for n-distinct statistics, f for functional dependency statistics, m for most common values (MCV) list statistics, and e for expression statistics","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"stxexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for statistics object attributes that are not simple column references. This is a list with one element per expression. Null if all statistics object attributes are simple references.","hidden":false,"type_oid":194,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-statistic-ext.html","source_path":"sources/postgresql/14/catalog-pg-statistic-ext.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic_ext.h","definition_source_path":"sources/postgresql/14/source/pg_statistic_ext.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":3381,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_statistic_ext holds definitions of extended planner statistics. Each row in this catalog corresponds to a statistics object created with CREATE STATISTICS.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxrelid","type":"oid","description":"Table containing the columns described by this object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxname","type":"name","description":"Name of the statistics object","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxnamespace","type":"oid","description":"The OID of the namespace that contains this statistics object","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxowner","type":"oid","description":"Owner of the statistics object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxstattarget","type":"integer","description":"stxstattarget controls the level of detail of statistics accumulated for this statistics object by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the maximum of the statistics targets of the referenced columns, if set, or the system default statistics target. Positive values of stxstattarget determine the target number of “most common values” to collect.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxkeys","type":"int2vector","description":"An array of attribute numbers, indicating which table columns are covered by this statistics object; for example a value of 1 3 would mean that the first and the third table columns are covered","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"stxkind","type":"\"char\"[]","description":"An array containing codes for the enabled statistics kinds; valid values are: d for n-distinct statistics, f for functional dependency statistics, m for most common values (MCV) list statistics, and e for expression statistics","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"stxexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for statistics object attributes that are not simple column references. This is a list with one element per expression. Null if all statistics object attributes are simple references.","hidden":false,"type_oid":194,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-statistic-ext.html","source_path":"sources/postgresql/15/catalog-pg-statistic-ext.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic_ext.h","definition_source_path":"sources/postgresql/15/source/pg_statistic_ext.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":3381,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_statistic_ext holds definitions of extended planner statistics. Each row in this catalog corresponds to a statistics object created with CREATE STATISTICS.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxrelid","type":"oid","description":"Table containing the columns described by this object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxname","type":"name","description":"Name of the statistics object","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxnamespace","type":"oid","description":"The OID of the namespace that contains this statistics object","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxowner","type":"oid","description":"Owner of the statistics object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxstattarget","type":"integer","description":"stxstattarget controls the level of detail of statistics accumulated for this statistics object by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the maximum of the statistics targets of the referenced columns, if set, or the system default statistics target. Positive values of stxstattarget determine the target number of “most common values” to collect.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxkeys","type":"int2vector","description":"An array of attribute numbers, indicating which table columns are covered by this statistics object; for example a value of 1 3 would mean that the first and the third table columns are covered","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":7,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"stxkind","type":"\"char\"[]","description":"An array containing codes for the enabled statistics kinds; valid values are: d for n-distinct statistics, f for functional dependency statistics, m for most common values (MCV) list statistics, and e for expression statistics","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"stxexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for statistics object attributes that are not simple column references. This is a list with one element per expression. Null if all statistics object attributes are simple references.","hidden":false,"type_oid":194,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-statistic-ext.html","source_path":"sources/postgresql/16/catalog-pg-statistic-ext.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic_ext.h","definition_source_path":"sources/postgresql/16/source/pg_statistic_ext.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":3381,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_statistic_ext holds definitions of extended planner statistics. Each row in this catalog corresponds to a statistics object created with CREATE STATISTICS.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxrelid","type":"oid","description":"Table containing the columns described by this object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxname","type":"name","description":"Name of the statistics object","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxnamespace","type":"oid","description":"The OID of the namespace that contains this statistics object","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxowner","type":"oid","description":"Owner of the statistics object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxkeys","type":"int2vector","description":"An array of attribute numbers, indicating which table columns are covered by this statistics object; for example a value of 1 3 would mean that the first and the third table columns are covered","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"stxstattarget","type":"smallint","description":"stxstattarget controls the level of detail of statistics accumulated for this statistics object by ANALYZE. A zero value indicates that no statistics should be collected. A null value says to use the maximum of the statistics targets of the referenced columns, if set, or the system default statistics target. Positive values of stxstattarget determine the target number of “most common values” to collect.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxkind","type":"\"char\"[]","description":"An array containing codes for the enabled statistics kinds; valid values are: d for n-distinct statistics, f for functional dependency statistics, m for most common values (MCV) list statistics, and e for expression statistics","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"stxexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for statistics object attributes that are not simple column references. This is a list with one element per expression. Null if all statistics object attributes are simple references.","hidden":false,"type_oid":194,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-statistic-ext.html","source_path":"sources/postgresql/17/catalog-pg-statistic-ext.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic_ext.h","definition_source_path":"sources/postgresql/17/source/pg_statistic_ext.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":3381,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_statistic_ext holds definitions of extended planner statistics. Each row in this catalog corresponds to a statistics object created with CREATE STATISTICS.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxrelid","type":"oid","description":"Table containing the columns described by this object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxname","type":"name","description":"Name of the statistics object","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxnamespace","type":"oid","description":"The OID of the namespace that contains this statistics object","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxowner","type":"oid","description":"Owner of the statistics object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxkeys","type":"int2vector","description":"An array of attribute numbers, indicating which table columns are covered by this statistics object; for example a value of 1 3 would mean that the first and the third table columns are covered","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"stxstattarget","type":"smallint","description":"stxstattarget controls the level of detail of statistics accumulated for this statistics object by ANALYZE. A zero value indicates that no statistics should be collected. A null value says to use the maximum of the statistics targets of the referenced columns, if set, or the system default statistics target. Positive values of stxstattarget determine the target number of “most common values” to collect.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxkind","type":"\"char\"[]","description":"An array containing codes for the enabled statistics kinds; valid values are: d for n-distinct statistics, f for functional dependency statistics, m for most common values (MCV) list statistics, and e for expression statistics","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"stxexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for statistics object attributes that are not simple column references. This is a list with one element per expression. Null if all statistics object attributes are simple references.","hidden":false,"type_oid":194,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-statistic-ext.html","source_path":"sources/postgresql/18/catalog-pg-statistic-ext.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic_ext.h","definition_source_path":"sources/postgresql/18/source/pg_statistic_ext.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":3381,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_statistic_ext holds definitions of extended planner statistics. Each row in this catalog corresponds to a statistics object created with CREATE STATISTICS.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxrelid","type":"oid","description":"Table containing the columns described by this object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxname","type":"name","description":"Name of the statistics object","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxnamespace","type":"oid","description":"The OID of the namespace that contains this statistics object","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxowner","type":"oid","description":"Owner of the statistics object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxkeys","type":"int2vector","description":"An array of attribute numbers, indicating which table columns are covered by this statistics object; for example a value of 1 3 would mean that the first and the third table columns are covered","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"stxstattarget","type":"smallint","description":"stxstattarget controls the level of detail of statistics accumulated for this statistics object by ANALYZE. A zero value indicates that no statistics should be collected. A null value says to use the maximum of the statistics targets of the referenced columns, if set, or the system default statistics target. Positive values of stxstattarget determine the target number of “most common values” to collect.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxkind","type":"\"char\"[]","description":"An array containing codes for the enabled statistics kinds; valid values are: d for n-distinct statistics, f for functional dependency statistics, m for most common values (MCV) list statistics, and e for expression statistics","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"stxexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for statistics object attributes that are not simple column references. This is a list with one element per expression. Null if all statistics object attributes are simple references.","hidden":false,"type_oid":194,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-statistic-ext.html","source_path":"sources/postgresql/19/catalog-pg-statistic-ext.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic_ext.h","definition_source_path":"sources/postgresql/19/source/pg_statistic_ext.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":3381,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.6","to":"10","status":"added","added_columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_statistic_ext.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxrelid","type":"oid","description":"Table containing the columns described by this object","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxname","type":"name","description":"Name of the statistics object","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxnamespace","type":"oid","description":"The OID of the namespace that contains this statistics object","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxowner","type":"oid","description":"Owner of the statistics object","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxkeys","type":"int2vector","description":"An array of attribute numbers, indicating which table columns are covered by this statistics object; for example a value of 1 3 would mean that the first and the third table columns are covered","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"stxkind","type":"\"char\"[]","description":"An array containing codes for the enabled statistics kinds; valid values are: d for n-distinct statistics, f for functional dependency statistics","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"stxndistinct","type":"pg_ndistinct","description":"N-distinct counts, serialized as pg_ndistinct type","hidden":false,"type_oid":3361,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxdependencies","type":"pg_dependencies","description":"Functional dependency statistics, serialized as pg_dependencies type","hidden":false,"type_oid":3402,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[{"name":"stxndistinct","type":"pg_ndistinct","description":"N-distinct counts, serialized as pg_ndistinct type","hidden":false,"type_oid":3361,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxdependencies","type":"pg_dependencies","description":"Functional dependency statistics, serialized as pg_dependencies type","hidden":false,"type_oid":3402,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier."},{"name":"stxkind","from":"An array containing codes for the enabled statistics kinds; valid values are: d for n-distinct statistics, f for functional dependency statistics","to":"An array containing codes for the enabled statistics kinds; valid values are: d for n-distinct statistics, f for functional dependency statistics, and m for most common values (MCV) list statistics"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"12","to":"13","status":"changed","added_columns":[{"name":"stxstattarget","type":"integer","description":"stxstattarget controls the level of detail of statistics accumulated for this statistics object by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the maximum of the statistics targets of the referenced columns, if set, or the system default statistics target. Positive values of stxstattarget determine the target number of “most common values” to collect.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier.","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[{"name":"stxexprs","type":"pg_node_tree","description":"Expression trees (in nodeToString() representation) for statistics object attributes that are not simple column references. This is a list with one element per expression. Null if all statistics object attributes are simple references.","hidden":false,"type_oid":194,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"stxkind","from":"An array containing codes for the enabled statistics kinds; valid values are: d for n-distinct statistics, f for functional dependency statistics, and m for most common values (MCV) list statistics","to":"An array containing codes for the enabled statistics kinds; valid values are: d for n-distinct statistics, f for functional dependency statistics, m for most common values (MCV) list statistics, and e for expression statistics"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[{"name":"stxstattarget","from":"integer","to":"smallint"}],"description_changes":[{"name":"stxstattarget","from":"stxstattarget controls the level of detail of statistics accumulated for this statistics object by ANALYZE. A zero value indicates that no statistics should be collected. A negative value says to use the maximum of the statistics targets of the referenced columns, if set, or the system default statistics target. Positive values of stxstattarget determine the target number of “most common values” to collect.","to":"stxstattarget controls the level of detail of statistics accumulated for this statistics object by ANALYZE. A zero value indicates that no statistics should be collected. A null value says to use the maximum of the statistics targets of the referenced columns, if set, or the system default statistics target. Positive values of stxstattarget determine the target number of “most common values” to collect."}],"reference_changes":[],"attribute_changes":[{"name":"stxstattarget","attribute":"not_null","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":true,"structural":true}]},{"name":"pg_statistic_ext_data","kind":"catalog","summary":"extended planner statistics (built statistics)","first_version":"12","last_version":"19","versions":{"12":{"description":"The catalog pg_statistic_ext_data holds data for extended planner statistics defined in pg_statistic_ext. Each row in this catalog corresponds to a statistics object created with CREATE STATISTICS.\n\nLike pg_statistic, pg_statistic_ext_data should not be readable by the public, since the contents might be considered sensitive. (Example: most common combinations of values in columns might be quite interesting.) pg_stats_ext is a publicly readable view on pg_statistic_ext_data (after joining with pg_statistic_ext) that only exposes information about those tables and columns that are readable by the current user.","columns":[{"name":"stxoid","type":"oid","description":"Extended statistic object containing the definition for this data","references":"pg_statistic_ext.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxdndistinct","type":"pg_ndistinct","description":"N-distinct counts, serialized as pg_ndistinct type","hidden":false,"type_oid":3361,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxddependencies","type":"pg_dependencies","description":"Functional dependency statistics, serialized as pg_dependencies type","hidden":false,"type_oid":3402,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxdmcv","type":"pg_mcv_list","description":"MCV (most-common values) list statistics, serialized as pg_mcv_list type","hidden":false,"type_oid":5017,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-statistic-ext-data.html","source_path":"sources/postgresql/12/catalog-pg-statistic-ext-data.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_statistic_ext_data.h","definition_source_path":"sources/postgresql/12/source/pg_statistic_ext_data.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3429,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_statistic_ext_data holds data for extended planner statistics defined in pg_statistic_ext. Each row in this catalog corresponds to a statistics object created with CREATE STATISTICS.\n\nLike pg_statistic, pg_statistic_ext_data should not be readable by the public, since the contents might be considered sensitive. (Example: most common combinations of values in columns might be quite interesting.) pg_stats_ext is a publicly readable view on pg_statistic_ext_data (after joining with pg_statistic_ext) that only exposes information about those tables and columns that are readable by the current user.","columns":[{"name":"stxoid","type":"oid","description":"Extended statistic object containing the definition for this data","references":"pg_statistic_ext.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxdndistinct","type":"pg_ndistinct","description":"N-distinct counts, serialized as pg_ndistinct type","hidden":false,"type_oid":3361,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxddependencies","type":"pg_dependencies","description":"Functional dependency statistics, serialized as pg_dependencies type","hidden":false,"type_oid":3402,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxdmcv","type":"pg_mcv_list","description":"MCV (most-common values) list statistics, serialized as pg_mcv_list type","hidden":false,"type_oid":5017,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-statistic-ext-data.html","source_path":"sources/postgresql/13/catalog-pg-statistic-ext-data.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_statistic_ext_data.h","definition_source_path":"sources/postgresql/13/source/pg_statistic_ext_data.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3429,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_statistic_ext_data holds data for extended planner statistics defined in pg_statistic_ext. Each row in this catalog corresponds to a statistics object created with CREATE STATISTICS.\n\nLike pg_statistic, pg_statistic_ext_data should not be readable by the public, since the contents might be considered sensitive. (Example: most common combinations of values in columns might be quite interesting.) pg_stats_ext is a publicly readable view on pg_statistic_ext_data (after joining with pg_statistic_ext) that only exposes information about tables the current user owns.","columns":[{"name":"stxoid","type":"oid","description":"Extended statistics object containing the definition for this data","references":"pg_statistic_ext.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxdndistinct","type":"pg_ndistinct","description":"N-distinct counts, serialized as pg_ndistinct type","hidden":false,"type_oid":3361,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxddependencies","type":"pg_dependencies","description":"Functional dependency statistics, serialized as pg_dependencies type","hidden":false,"type_oid":3402,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxdmcv","type":"pg_mcv_list","description":"MCV (most-common values) list statistics, serialized as pg_mcv_list type","hidden":false,"type_oid":5017,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxdexpr","type":"pg_statistic[]","description":"Per-expression statistics, serialized as an array of pg_statistic type","hidden":false,"type_oid":12028,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-statistic-ext-data.html","source_path":"sources/postgresql/14/catalog-pg-statistic-ext-data.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_statistic_ext_data.h","definition_source_path":"sources/postgresql/14/source/pg_statistic_ext_data.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3429,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_statistic_ext_data holds data for extended planner statistics defined in pg_statistic_ext. Each row in this catalog corresponds to a statistics object created with CREATE STATISTICS.\n\nNormally there is one entry, with stxdinherit = false, for each statistics object that has been analyzed. If the table has inheritance children or partitions, a second entry with stxdinherit = true is also created. This row represents the statistics object over the inheritance tree, i.e., statistics for the data you'd see with SELECT * FROM table*, whereas the stxdinherit = false row represents the results of SELECT * FROM ONLY table.\n\nLike pg_statistic, pg_statistic_ext_data should not be readable by the public, since the contents might be considered sensitive. (Example: most common combinations of values in columns might be quite interesting.) pg_stats_ext is a publicly readable view on pg_statistic_ext_data (after joining with pg_statistic_ext) that only exposes information about tables the current user owns.","columns":[{"name":"stxoid","type":"oid","description":"Extended statistics object containing the definition for this data","references":"pg_statistic_ext.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxdinherit","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxdndistinct","type":"pg_ndistinct","description":"N-distinct counts, serialized as pg_ndistinct type","hidden":false,"type_oid":3361,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxddependencies","type":"pg_dependencies","description":"Functional dependency statistics, serialized as pg_dependencies type","hidden":false,"type_oid":3402,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxdmcv","type":"pg_mcv_list","description":"MCV (most-common values) list statistics, serialized as pg_mcv_list type","hidden":false,"type_oid":5017,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxdexpr","type":"pg_statistic[]","description":"Per-expression statistics, serialized as an array of pg_statistic type","hidden":false,"type_oid":10028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-statistic-ext-data.html","source_path":"sources/postgresql/15/catalog-pg-statistic-ext-data.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_statistic_ext_data.h","definition_source_path":"sources/postgresql/15/source/pg_statistic_ext_data.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3429,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_statistic_ext_data holds data for extended planner statistics defined in pg_statistic_ext. Each row in this catalog corresponds to a statistics object created with CREATE STATISTICS.\n\nNormally there is one entry, with stxdinherit = false, for each statistics object that has been analyzed. If the table has inheritance children or partitions, a second entry with stxdinherit = true is also created. This row represents the statistics object over the inheritance tree, i.e., statistics for the data you'd see with SELECT * FROM table*, whereas the stxdinherit = false row represents the results of SELECT * FROM ONLY table.\n\nLike pg_statistic, pg_statistic_ext_data should not be readable by the public, since the contents might be considered sensitive. (Example: most common combinations of values in columns might be quite interesting.) pg_stats_ext is a publicly readable view on pg_statistic_ext_data (after joining with pg_statistic_ext) that only exposes information about tables the current user owns.","columns":[{"name":"stxoid","type":"oid","description":"Extended statistics object containing the definition for this data","references":"pg_statistic_ext.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxdinherit","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxdndistinct","type":"pg_ndistinct","description":"N-distinct counts, serialized as pg_ndistinct type","hidden":false,"type_oid":3361,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxddependencies","type":"pg_dependencies","description":"Functional dependency statistics, serialized as pg_dependencies type","hidden":false,"type_oid":3402,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxdmcv","type":"pg_mcv_list","description":"MCV (most-common values) list statistics, serialized as pg_mcv_list type","hidden":false,"type_oid":5017,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxdexpr","type":"pg_statistic[]","description":"Per-expression statistics, serialized as an array of pg_statistic type","hidden":false,"type_oid":10028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-statistic-ext-data.html","source_path":"sources/postgresql/16/catalog-pg-statistic-ext-data.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_statistic_ext_data.h","definition_source_path":"sources/postgresql/16/source/pg_statistic_ext_data.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3429,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_statistic_ext_data holds data for extended planner statistics defined in pg_statistic_ext. Each row in this catalog corresponds to a statistics object created with CREATE STATISTICS.\n\nNormally there is one entry, with stxdinherit = false, for each statistics object that has been analyzed. If the table has inheritance children or partitions, a second entry with stxdinherit = true is also created. This row represents the statistics object over the inheritance tree, i.e., statistics for the data you'd see with SELECT * FROM table*, whereas the stxdinherit = false row represents the results of SELECT * FROM ONLY table.\n\nLike pg_statistic, pg_statistic_ext_data should not be readable by the public, since the contents might be considered sensitive. (Example: most common combinations of values in columns might be quite interesting.) pg_stats_ext is a publicly readable view on pg_statistic_ext_data (after joining with pg_statistic_ext) that only exposes information about tables the current user owns.","columns":[{"name":"stxoid","type":"oid","description":"Extended statistics object containing the definition for this data","references":"pg_statistic_ext.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxdinherit","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxdndistinct","type":"pg_ndistinct","description":"N-distinct counts, serialized as pg_ndistinct type","hidden":false,"type_oid":3361,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxddependencies","type":"pg_dependencies","description":"Functional dependency statistics, serialized as pg_dependencies type","hidden":false,"type_oid":3402,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxdmcv","type":"pg_mcv_list","description":"MCV (most-common values) list statistics, serialized as pg_mcv_list type","hidden":false,"type_oid":5017,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxdexpr","type":"pg_statistic[]","description":"Per-expression statistics, serialized as an array of pg_statistic type","hidden":false,"type_oid":10028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-statistic-ext-data.html","source_path":"sources/postgresql/17/catalog-pg-statistic-ext-data.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_statistic_ext_data.h","definition_source_path":"sources/postgresql/17/source/pg_statistic_ext_data.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3429,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_statistic_ext_data holds data for extended planner statistics defined in pg_statistic_ext. Each row in this catalog corresponds to a statistics object created with CREATE STATISTICS.\n\nNormally there is one entry, with stxdinherit = false, for each statistics object that has been analyzed. If the table has inheritance children or partitions, a second entry with stxdinherit = true is also created. This row represents the statistics object over the inheritance tree, i.e., statistics for the data you'd see with SELECT * FROM table*, whereas the stxdinherit = false row represents the results of SELECT * FROM ONLY table.\n\nLike pg_statistic, pg_statistic_ext_data should not be readable by the public, since the contents might be considered sensitive. (Example: most common combinations of values in columns might be quite interesting.) pg_stats_ext is a publicly readable view on pg_statistic_ext_data (after joining with pg_statistic_ext) that only exposes information about tables the current user owns.","columns":[{"name":"stxoid","type":"oid","description":"Extended statistics object containing the definition for this data","references":"pg_statistic_ext.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxdinherit","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxdndistinct","type":"pg_ndistinct","description":"N-distinct counts, serialized as pg_ndistinct type","hidden":false,"type_oid":3361,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxddependencies","type":"pg_dependencies","description":"Functional dependency statistics, serialized as pg_dependencies type","hidden":false,"type_oid":3402,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxdmcv","type":"pg_mcv_list","description":"MCV (most-common values) list statistics, serialized as pg_mcv_list type","hidden":false,"type_oid":5017,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxdexpr","type":"pg_statistic[]","description":"Per-expression statistics, serialized as an array of pg_statistic type","hidden":false,"type_oid":10028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-statistic-ext-data.html","source_path":"sources/postgresql/18/catalog-pg-statistic-ext-data.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_statistic_ext_data.h","definition_source_path":"sources/postgresql/18/source/pg_statistic_ext_data.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3429,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_statistic_ext_data holds data for extended planner statistics defined in pg_statistic_ext. Each row in this catalog corresponds to a statistics object created with CREATE STATISTICS.\n\nNormally there is one entry, with stxdinherit = false, for each statistics object that has been analyzed. If the table has inheritance children or partitions, a second entry with stxdinherit = true is also created. This row represents the statistics object over the inheritance tree, i.e., statistics for the data you'd see with SELECT * FROM table*, whereas the stxdinherit = false row represents the results of SELECT * FROM ONLY table.\n\nLike pg_statistic, pg_statistic_ext_data should not be readable by the public, since the contents might be considered sensitive. (Example: most common combinations of values in columns might be quite interesting.) pg_stats_ext is a publicly readable view on pg_statistic_ext_data (after joining with pg_statistic_ext) that only exposes information about tables the current user owns.","columns":[{"name":"stxoid","type":"oid","description":"Extended statistics object containing the definition for this data","references":"pg_statistic_ext.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxdinherit","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxdndistinct","type":"pg_ndistinct","description":"N-distinct counts, serialized as pg_ndistinct type","hidden":false,"type_oid":3361,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxddependencies","type":"pg_dependencies","description":"Functional dependency statistics, serialized as pg_dependencies type","hidden":false,"type_oid":3402,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxdmcv","type":"pg_mcv_list","description":"MCV (most-common values) list statistics, serialized as pg_mcv_list type","hidden":false,"type_oid":5017,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxdexpr","type":"pg_statistic[]","description":"Per-expression statistics, serialized as an array of pg_statistic type","hidden":false,"type_oid":10028,"attnum":6,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-statistic-ext-data.html","source_path":"sources/postgresql/19/catalog-pg-statistic-ext-data.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_statistic_ext_data.h","definition_source_path":"sources/postgresql/19/source/pg_statistic_ext_data.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3429,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"11","to":"12","status":"added","added_columns":[{"name":"stxoid","type":"oid","description":"Extended statistic object containing the definition for this data","references":"pg_statistic_ext.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"stxdndistinct","type":"pg_ndistinct","description":"N-distinct counts, serialized as pg_ndistinct type","hidden":false,"type_oid":3361,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxddependencies","type":"pg_dependencies","description":"Functional dependency statistics, serialized as pg_dependencies type","hidden":false,"type_oid":3402,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"stxdmcv","type":"pg_mcv_list","description":"MCV (most-common values) list statistics, serialized as pg_mcv_list type","hidden":false,"type_oid":5017,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[{"name":"stxdexpr","type":"pg_statistic[]","description":"Per-expression statistics, serialized as an array of pg_statistic type","hidden":false,"type_oid":12028,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"stxoid","from":"Extended statistic object containing the definition for this data","to":"Extended statistics object containing the definition for this data"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"14","to":"15","status":"changed","added_columns":[{"name":"stxdinherit","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true}]},{"name":"pg_stats","kind":"view","summary":"The view pg_stats provides access to the information stored in the pg_statistic catalog. This view allows access only to rows of pg_statistic that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The view pg_stats provides access to the information stored in the pg_statistic catalog. This view allows access only to rows of pg_statistic that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view.\n\npg_stats is also designed to present the information in a more readable format than the underlying catalog — at the cost that its schema must be extended whenever new slot types are defined for pg_statistic.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attname","type":"name","description":"Name of the column described by this row","references":"pg_attribute.attname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, this row includes inheritance child columns, not just the values in the specified table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of column entries that are null","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of column's entries","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the column. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique column in which the number of distinct values is the same as the number of rows.","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the column. (Null if no values seem to be more common than any others.) For some data types such as tsvector, this is a list of the most common element values rather than values of the type itself.","hidden":false,"type_oid":2277,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values or elements, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.) For some data types such as tsvector, it can also store some additional information, making it longer than the most_common_vals array.","hidden":false,"type_oid":1021,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the column's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This column is null if the column data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the column values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the column will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This column is null if the column data type does not have a < operator.)","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/view-pg-stats.html","source_path":"sources/postgresql/9.0/view-pg-stats.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10981,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The view pg_stats provides access to the information stored in the pg_statistic catalog. This view allows access only to rows of pg_statistic that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view.\n\npg_stats is also designed to present the information in a more readable format than the underlying catalog — at the cost that its schema must be extended whenever new slot types are defined for pg_statistic.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attname","type":"name","description":"Name of the column described by this row","references":"pg_attribute.attname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, this row includes inheritance child columns, not just the values in the specified table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of column entries that are null","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of column's entries","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the column. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique column in which the number of distinct values is the same as the number of rows.","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the column. (Null if no values seem to be more common than any others.) For some data types such as tsvector, this is a list of the most common element values rather than values of the type itself.","hidden":false,"type_oid":2277,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values or elements, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.) For some data types such as tsvector, it can also store some additional information, making it longer than the most_common_vals array.","hidden":false,"type_oid":1021,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the column's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This column is null if the column data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the column values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the column will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This column is null if the column data type does not have a < operator.)","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/view-pg-stats.html","source_path":"sources/postgresql/9.1/view-pg-stats.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10996,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The view pg_stats provides access to the information stored in the pg_statistic catalog. This view allows access only to rows of pg_statistic that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view.\n\npg_stats is also designed to present the information in a more readable format than the underlying catalog — at the cost that its schema must be extended whenever new slot types are defined for pg_statistic.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attname","type":"name","description":"Name of the column described by this row","references":"pg_attribute.attname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, this row includes inheritance child columns, not just the values in the specified table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of column entries that are null","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of column's entries","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the column. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique column in which the number of distinct values is the same as the number of rows.","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the column. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","hidden":false,"type_oid":1021,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the column's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This column is null if the column data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the column values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the column will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This column is null if the column data type does not have a < operator.)","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the column. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","hidden":false,"type_oid":1021,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the column, followed by the average number of distinct non-null elements. (Null for scalar types.)","hidden":false,"type_oid":1021,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/view-pg-stats.html","source_path":"sources/postgresql/9.2/view-pg-stats.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11065,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The view pg_stats provides access to the information stored in the pg_statistic catalog. This view allows access only to rows of pg_statistic that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view.\n\npg_stats is also designed to present the information in a more readable format than the underlying catalog — at the cost that its schema must be extended whenever new slot types are defined for pg_statistic.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attname","type":"name","description":"Name of the column described by this row","references":"pg_attribute.attname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, this row includes inheritance child columns, not just the values in the specified table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of column entries that are null","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of column's entries","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the column. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique column in which the number of distinct values is the same as the number of rows.","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the column. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","hidden":false,"type_oid":1021,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the column's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This column is null if the column data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the column values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the column will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This column is null if the column data type does not have a < operator.)","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the column. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","hidden":false,"type_oid":1021,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the column, followed by the average number of distinct non-null elements. (Null for scalar types.)","hidden":false,"type_oid":1021,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-stats.html","source_path":"sources/postgresql/9.3/view-pg-stats.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11086,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The view pg_stats provides access to the information stored in the pg_statistic catalog. This view allows access only to rows of pg_statistic that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view.\n\npg_stats is also designed to present the information in a more readable format than the underlying catalog — at the cost that its schema must be extended whenever new slot types are defined for pg_statistic.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attname","type":"name","description":"Name of the column described by this row","references":"pg_attribute.attname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, this row includes inheritance child columns, not just the values in the specified table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of column entries that are null","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of column's entries","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the column. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique column in which the number of distinct values is the same as the number of rows.","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the column. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","hidden":false,"type_oid":1021,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the column's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This column is null if the column data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the column values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the column will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This column is null if the column data type does not have a < operator.)","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the column. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","hidden":false,"type_oid":1021,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the column, followed by the average number of distinct non-null elements. (Null for scalar types.)","hidden":false,"type_oid":1021,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-stats.html","source_path":"sources/postgresql/9.4/view-pg-stats.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11183,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The view pg_stats provides access to the information stored in the pg_statistic catalog. This view allows access only to rows of pg_statistic that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view.\n\npg_stats is also designed to present the information in a more readable format than the underlying catalog — at the cost that its schema must be extended whenever new slot types are defined for pg_statistic.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attname","type":"name","description":"Name of the column described by this row","references":"pg_attribute.attname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, this row includes inheritance child columns, not just the values in the specified table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of column entries that are null","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of column's entries","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the column. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique column in which the number of distinct values is the same as the number of rows.","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the column. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","hidden":false,"type_oid":1021,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the column's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This column is null if the column data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the column values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the column will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This column is null if the column data type does not have a < operator.)","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the column. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","hidden":false,"type_oid":1021,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the column, followed by the average number of distinct non-null elements. (Null for scalar types.)","hidden":false,"type_oid":1021,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-stats.html","source_path":"sources/postgresql/9.5/view-pg-stats.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11669,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The view pg_stats provides access to the information stored in the pg_statistic catalog. This view allows access only to rows of pg_statistic that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view.\n\npg_stats is also designed to present the information in a more readable format than the underlying catalog — at the cost that its schema must be extended whenever new slot types are defined for pg_statistic.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attname","type":"name","description":"Name of the column described by this row","references":"pg_attribute.attname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, this row includes inheritance child columns, not just the values in the specified table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of column entries that are null","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of column's entries","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the column. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique column in which the number of distinct values is the same as the number of rows.","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the column. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","hidden":false,"type_oid":1021,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the column's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This column is null if the column data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the column values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the column will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This column is null if the column data type does not have a < operator.)","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the column. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","hidden":false,"type_oid":1021,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the column, followed by the average number of distinct non-null elements. (Null for scalar types.)","hidden":false,"type_oid":1021,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-stats.html","source_path":"sources/postgresql/9.6/view-pg-stats.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11691,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The view pg_stats provides access to the information stored in the pg_statistic catalog. This view allows access only to rows of pg_statistic that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view.\n\npg_stats is also designed to present the information in a more readable format than the underlying catalog — at the cost that its schema must be extended whenever new slot types are defined for pg_statistic.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attname","type":"name","description":"Name of the column described by this row","references":"pg_attribute.attname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, this row includes inheritance child columns, not just the values in the specified table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of column entries that are null","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of column's entries","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the column. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique column in which the number of distinct values is the same as the number of rows.","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the column. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","hidden":false,"type_oid":1021,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the column's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This column is null if the column data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the column values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the column will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This column is null if the column data type does not have a < operator.)","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the column. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","hidden":false,"type_oid":1021,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the column, followed by the average number of distinct non-null elements. (Null for scalar types.)","hidden":false,"type_oid":1021,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-stats.html","source_path":"sources/postgresql/10/view-pg-stats.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11569,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_stats provides access to the information stored in the pg_statistic catalog. This view allows access only to rows of pg_statistic that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view.\n\npg_stats is also designed to present the information in a more readable format than the underlying catalog — at the cost that its schema must be extended whenever new slot types are defined for pg_statistic.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attname","type":"name","description":"Name of the column described by this row","references":"pg_attribute.attname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, this row includes inheritance child columns, not just the values in the specified table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of column entries that are null","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of column's entries","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the column. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique column in which the number of distinct values is the same as the number of rows.","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the column. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","hidden":false,"type_oid":1021,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the column's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This column is null if the column data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the column values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the column will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This column is null if the column data type does not have a < operator.)","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the column. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","hidden":false,"type_oid":1021,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the column, followed by the average number of distinct non-null elements. (Null for scalar types.)","hidden":false,"type_oid":1021,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-stats.html","source_path":"sources/postgresql/11/view-pg-stats.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11637,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_stats provides access to the information stored in the pg_statistic catalog. This view allows access only to rows of pg_statistic that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view.\n\npg_stats is also designed to present the information in a more readable format than the underlying catalog — at the cost that its schema must be extended whenever new slot types are defined for pg_statistic.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attname","type":"name","description":"Name of the column described by this row","references":"pg_attribute.attname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, this row includes inheritance child columns, not just the values in the specified table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of column entries that are null","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of column's entries","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the column. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique column in which the number of distinct values is the same as the number of rows.","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the column. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","hidden":false,"type_oid":1021,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the column's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This column is null if the column data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the column values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the column will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This column is null if the column data type does not have a < operator.)","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the column. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","hidden":false,"type_oid":1021,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the column, followed by the average number of distinct non-null elements. (Null for scalar types.)","hidden":false,"type_oid":1021,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-stats.html","source_path":"sources/postgresql/12/view-pg-stats.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12131,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_stats provides access to the information stored in the pg_statistic catalog. This view allows access only to rows of pg_statistic that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view.\n\npg_stats is also designed to present the information in a more readable format than the underlying catalog — at the cost that its schema must be extended whenever new slot types are defined for pg_statistic.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attname","type":"name","description":"Name of the column described by this row","references":"pg_attribute.attname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, this row includes inheritance child columns, not just the values in the specified table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of column entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of column's entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the column. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique column in which the number of distinct values is the same as the number of rows.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the column. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the column's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This column is null if the column data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the column values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the column will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This column is null if the column data type does not have a < operator.)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the column. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the column, followed by the average number of distinct non-null elements. (Null for scalar types.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-stats.html","source_path":"sources/postgresql/13/view-pg-stats.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12129,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_stats provides access to the information stored in the pg_statistic catalog. This view allows access only to rows of pg_statistic that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view.\n\npg_stats is also designed to present the information in a more readable format than the underlying catalog — at the cost that its schema must be extended whenever new slot types are defined for pg_statistic.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attname","type":"name","description":"Name of column described by this row","references":"pg_attribute.attname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, this row includes inheritance child columns, not just the values in the specified table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of column entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of column's entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the column. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique column in which the number of distinct values is the same as the number of rows.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the column. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the column's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This column is null if the column data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the column values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the column will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This column is null if the column data type does not have a < operator.)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the column. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the column, followed by the average number of distinct non-null elements. (Null for scalar types.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-stats.html","source_path":"sources/postgresql/14/view-pg-stats.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12270,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_stats provides access to the information stored in the pg_statistic catalog. This view allows access only to rows of pg_statistic that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view.\n\npg_stats is also designed to present the information in a more readable format than the underlying catalog — at the cost that its schema must be extended whenever new slot types are defined for pg_statistic.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attname","type":"name","description":"Name of column described by this row","references":"pg_attribute.attname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, this row includes values from child tables, not just the values in the specified table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of column entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of column's entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the column. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique column in which the number of distinct values is the same as the number of rows.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the column. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the column's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This column is null if the column data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the column values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the column will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This column is null if the column data type does not have a < operator.)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the column. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the column, followed by the average number of distinct non-null elements. (Null for scalar types.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-stats.html","source_path":"sources/postgresql/15/view-pg-stats.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12053,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_stats provides access to the information stored in the pg_statistic catalog. This view allows access only to rows of pg_statistic that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view.\n\npg_stats is also designed to present the information in a more readable format than the underlying catalog — at the cost that its schema must be extended whenever new slot types are defined for pg_statistic.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attname","type":"name","description":"Name of column described by this row","references":"pg_attribute.attname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, this row includes values from child tables, not just the values in the specified table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of column entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of column's entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the column. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique column in which the number of distinct values is the same as the number of rows.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the column. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the column's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This column is null if the column data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the column values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the column will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This column is null if the column data type does not have a < operator.)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the column. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the column, followed by the average number of distinct non-null elements. (Null for scalar types.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-stats.html","source_path":"sources/postgresql/16/view-pg-stats.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12053,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_stats provides access to the information stored in the pg_statistic catalog. This view allows access only to rows of pg_statistic that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view.\n\npg_stats is also designed to present the information in a more readable format than the underlying catalog — at the cost that its schema must be extended whenever new slot types are defined for pg_statistic.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attname","type":"name","description":"Name of column described by this row","references":"pg_attribute.attname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, this row includes values from child tables, not just the values in the specified table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of column entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of column's entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the column. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique column in which the number of distinct values is the same as the number of rows.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the column. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the column's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This column is null if the column data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the column values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the column will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This column is null if the column data type does not have a < operator.)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the column. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the column, followed by the average number of distinct non-null elements. (Null for scalar types.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"range_length_histogram","type":"anyarray","description":"A histogram of the lengths of non-empty and non-null range values of a range type column. (Null for non-range types.) This histogram is calculated using the subtype_diff range function regardless of whether range bounds are inclusive.","hidden":false,"type_oid":2277,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"range_empty_frac","type":"real","description":"Fraction of column entries whose values are empty ranges. (Null for non-range types.)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"range_bounds_histogram","type":"anyarray","description":"A histogram of lower and upper bounds of non-empty and non-null range values. (Null for non-range types.) These two histograms are represented as a single array of ranges, whose lower bounds represent the histogram of lower bounds, and upper bounds represent the histogram of upper bounds.","hidden":false,"type_oid":2277,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-stats.html","source_path":"sources/postgresql/17/view-pg-stats.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12053,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_stats provides access to the information stored in the pg_statistic catalog. This view allows access only to rows of pg_statistic that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view.\n\npg_stats is also designed to present the information in a more readable format than the underlying catalog — at the cost that its schema must be extended whenever new slot types are defined for pg_statistic.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attname","type":"name","description":"Name of column described by this row","references":"pg_attribute.attname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, this row includes values from child tables, not just the values in the specified table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of column entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of column's entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the column. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique column in which the number of distinct values is the same as the number of rows.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the column. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the column's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This column is null if the column data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the column values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the column will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This column is null if the column data type does not have a < operator.)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the column. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the column, followed by the average number of distinct non-null elements. (Null for scalar types.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"range_length_histogram","type":"anyarray","description":"A histogram of the lengths of non-empty and non-null range values of a range type column. (Null for non-range types.) This histogram is calculated using the subtype_diff range function regardless of whether range bounds are inclusive.","hidden":false,"type_oid":2277,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"range_empty_frac","type":"real","description":"Fraction of column entries whose values are empty ranges. (Null for non-range types.)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"range_bounds_histogram","type":"anyarray","description":"A histogram of lower and upper bounds of non-empty and non-null range values. (Null for non-range types.) These two histograms are represented as a single array of ranges, whose lower bounds represent the histogram of lower bounds, and upper bounds represent the histogram of upper bounds.","hidden":false,"type_oid":2277,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-stats.html","source_path":"sources/postgresql/18/view-pg-stats.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12053,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_stats provides access to the information stored in the pg_statistic catalog. This view allows access only to rows of pg_statistic that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view.\n\npg_stats is also designed to present the information in a more readable format than the underlying catalog — at the cost that its schema must be extended whenever new slot types are defined for pg_statistic.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tableid","type":"oid","description":"OID of table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attname","type":"name","description":"Name of column described by this row","references":"pg_attribute.attname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attnum","type":"smallint","description":"Number of column described by this row","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, this row includes values from child tables, not just the values in the specified table","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of column entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of column's entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the column. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique column in which the number of distinct values is the same as the number of rows.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the column. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the column's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This column is null if the column data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the column values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the column will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This column is null if the column data type does not have a < operator.)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the column. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the column, followed by the average number of distinct non-null elements. (Null for scalar types.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"range_length_histogram","type":"anyarray","description":"A histogram of the lengths of non-empty and non-null range values of a range type column. (Null for non-range types.) This histogram is calculated using the subtype_diff range function regardless of whether range bounds are inclusive.","hidden":false,"type_oid":2277,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"range_empty_frac","type":"real","description":"Fraction of column entries whose values are empty ranges. (Null for non-range types.)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"range_bounds_histogram","type":"anyarray","description":"A histogram of lower and upper bounds of non-empty and non-null range values. (Null for non-range types.) These two histograms are represented as a single array of ranges, whose lower bounds represent the histogram of lower bounds, and upper bounds represent the histogram of upper bounds.","hidden":false,"type_oid":2277,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-stats.html","source_path":"sources/postgresql/19/view-pg-stats.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12053,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"changed","added_columns":[{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the column. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","hidden":false,"type_oid":1021,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the column, followed by the average number of distinct non-null elements. (Null for scalar types.)","hidden":false,"type_oid":1021,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"most_common_freqs","from":"A list of the frequencies of the most common values or elements, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.) For some data types such as tsvector, it can also store some additional information, making it longer than the most_common_vals array.","to":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)"},{"name":"most_common_vals","from":"A list of the most common values in the column. (Null if no values seem to be more common than any others.) For some data types such as tsvector, this is a list of the most common element values rather than values of the type itself.","to":"A list of the most common values in the column. (Null if no values seem to be more common than any others.)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"attname","from":"Name of the column described by this row","to":"Name of column described by this row"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"inherited","from":"If true, this row includes inheritance child columns, not just the values in the specified table","to":"If true, this row includes values from child tables, not just the values in the specified table"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[{"name":"range_length_histogram","type":"anyarray","description":"A histogram of the lengths of non-empty and non-null range values of a range type column. (Null for non-range types.) This histogram is calculated using the subtype_diff range function regardless of whether range bounds are inclusive.","hidden":false,"type_oid":2277,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"range_empty_frac","type":"real","description":"Fraction of column entries whose values are empty ranges. (Null for non-range types.)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"range_bounds_histogram","type":"anyarray","description":"A histogram of lower and upper bounds of non-empty and non-null range values. (Null for non-range types.) These two histograms are represented as a single array of ranges, whose lower bounds represent the histogram of lower bounds, and upper bounds represent the histogram of upper bounds.","hidden":false,"type_oid":2277,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"tableid","type":"oid","description":"OID of table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attnum","type":"smallint","description":"Number of column described by this row","references":"pg_attribute.attnum","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stats_ext","kind":"view","summary":"The view pg_stats_ext provides access to information about each extended statistics object in the database, combining information stored in the pg_statistic_ext and pg_statistic_ext_data catalogs. This view allows access only to rows of pg_statistic_ext and pg_statistic_ext_data that correspond to tables the user owns, and therefore it is safe to allow public read access to this view.","first_version":"12","last_version":"19","versions":{"12":{"description":"The view pg_stats_ext provides access to the information stored in the pg_statistic_ext and pg_statistic_ext_data catalogs. This view allows access only to rows of pg_statistic_ext and pg_statistic_ext_data that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view.\n\npg_stats_ext is also designed to present the information in a more readable format than the underlying catalogs — at the cost that its schema must be extended whenever new types of extended statistics are added to pg_statistic_ext.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_schemaname","type":"name","description":"Name of schema containing extended statistic","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_name","type":"name","description":"Name of extended statistics","references":"pg_statistic_ext.stxname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_owner","type":"name","description":"Owner of the extended statistics","references":"pg_authid.rolname","documented_type":"oid","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false,"documented_references":"pg_authid.oid","reference_note":"system_views.sql projects pg_get_userbyid(stxowner), a role name rather than the stored owner OID.","reference_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql"},{"name":"attnames","type":"name[]","description":"Names of the columns the extended statistics is defined on","references":"pg_attribute.attname","hidden":false,"type_oid":1003,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"kinds","type":"\"char\"[]","description":"Types of extended statistics enabled for this record","documented_type":"text[]","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":1002,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"pg_ndistinct","description":"N-distinct counts for combinations of column values. If greater than zero, the estimated number of distinct values in the combination. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique combination of columns in which the number of distinct combinations is the same as the number of rows.","hidden":false,"type_oid":3361,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"dependencies","type":"pg_dependencies","description":"Functional dependency statistics","hidden":false,"type_oid":3402,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"text[]","description":"A list of the most common combinations of values in the columns. (Null if no combinations seem to be more common than any others.)","documented_type":"anyarray","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":1009,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_val_nulls","type":"boolean[]","description":"A list of NULL flags for the most common combinations of values. (Null when most_common_vals is.)","documented_type":"anyarray","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":1000,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"double precision[]","description":"A list of the frequencies of the most common combinations, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"real[]","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":1022,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_base_freqs","type":"double precision[]","description":"A list of the base frequencies of the most common combinations, i.e., product of per-value frequencies. (Null when most_common_vals is.)","documented_type":"real[]","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":1022,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-stats-ext.html","source_path":"sources/postgresql/12/view-pg-stats-ext.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12135,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_stats_ext provides access to the information stored in the pg_statistic_ext and pg_statistic_ext_data catalogs. This view allows access only to rows of pg_statistic_ext and pg_statistic_ext_data that correspond to tables the user has permission to read, and therefore it is safe to allow public read access to this view.\n\npg_stats_ext is also designed to present the information in a more readable format than the underlying catalogs — at the cost that its schema must be extended whenever new types of extended statistics are added to pg_statistic_ext.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_schemaname","type":"name","description":"Name of schema containing extended statistic","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_name","type":"name","description":"Name of extended statistics","references":"pg_statistic_ext.stxname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_owner","type":"name","description":"Owner of the extended statistics","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attnames","type":"name[]","description":"Names of the columns the extended statistics is defined on","references":"pg_attribute.attname","hidden":false,"type_oid":1003,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"kinds","type":"\"char\"[]","description":"Types of extended statistics enabled for this record","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"pg_ndistinct","description":"N-distinct counts for combinations of column values. If greater than zero, the estimated number of distinct values in the combination. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique combination of columns in which the number of distinct combinations is the same as the number of rows.","hidden":false,"type_oid":3361,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"dependencies","type":"pg_dependencies","description":"Functional dependency statistics","hidden":false,"type_oid":3402,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"text[]","description":"A list of the most common combinations of values in the columns. (Null if no combinations seem to be more common than any others.)","hidden":false,"type_oid":1009,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_val_nulls","type":"boolean[]","description":"A list of NULL flags for the most common combinations of values. (Null when most_common_vals is.)","documented_type":"bool[]","hidden":false,"type_oid":1000,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"double precision[]","description":"A list of the frequencies of the most common combinations, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float8[]","hidden":false,"type_oid":1022,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_base_freqs","type":"double precision[]","description":"A list of the base frequencies of the most common combinations, i.e., product of per-value frequencies. (Null when most_common_vals is.)","documented_type":"float8[]","hidden":false,"type_oid":1022,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-stats-ext.html","source_path":"sources/postgresql/13/view-pg-stats-ext.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12133,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_stats_ext provides access to information about each extended statistics object in the database, combining information stored in the pg_statistic_ext and pg_statistic_ext_data catalogs. This view allows access only to rows of pg_statistic_ext and pg_statistic_ext_data that correspond to tables the user owns, and therefore it is safe to allow public read access to this view.\n\npg_stats_ext is also designed to present the information in a more readable format than the underlying catalogs — at the cost that its schema must be extended whenever new types of extended statistics are added to pg_statistic_ext.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_schemaname","type":"name","description":"Name of schema containing extended statistics object","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_name","type":"name","description":"Name of extended statistics object","references":"pg_statistic_ext.stxname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_owner","type":"name","description":"Owner of the extended statistics object","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attnames","type":"name[]","description":"Names of the columns included in the extended statistics object","references":"pg_attribute.attname","hidden":false,"type_oid":1003,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"exprs","type":"text[]","description":"Expressions included in the extended statistics object","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"kinds","type":"\"char\"[]","description":"Types of extended statistics object enabled for this record","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"pg_ndistinct","description":"N-distinct counts for combinations of column values. If greater than zero, the estimated number of distinct values in the combination. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique combination of columns in which the number of distinct combinations is the same as the number of rows.","hidden":false,"type_oid":3361,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"dependencies","type":"pg_dependencies","description":"Functional dependency statistics","hidden":false,"type_oid":3402,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"text[]","description":"A list of the most common combinations of values in the columns. (Null if no combinations seem to be more common than any others.)","hidden":false,"type_oid":1009,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_val_nulls","type":"boolean[]","description":"A list of NULL flags for the most common combinations of values. (Null when most_common_vals is.)","documented_type":"bool[]","hidden":false,"type_oid":1000,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"double precision[]","description":"A list of the frequencies of the most common combinations, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float8[]","hidden":false,"type_oid":1022,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_base_freqs","type":"double precision[]","description":"A list of the base frequencies of the most common combinations, i.e., product of per-value frequencies. (Null when most_common_vals is.)","documented_type":"float8[]","hidden":false,"type_oid":1022,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-stats-ext.html","source_path":"sources/postgresql/14/view-pg-stats-ext.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12275,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_stats_ext provides access to information about each extended statistics object in the database, combining information stored in the pg_statistic_ext and pg_statistic_ext_data catalogs. This view allows access only to rows of pg_statistic_ext and pg_statistic_ext_data that correspond to tables the user owns, and therefore it is safe to allow public read access to this view.\n\npg_stats_ext is also designed to present the information in a more readable format than the underlying catalogs — at the cost that its schema must be extended whenever new types of extended statistics are added to pg_statistic_ext.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_schemaname","type":"name","description":"Name of schema containing extended statistics object","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_name","type":"name","description":"Name of extended statistics object","references":"pg_statistic_ext.stxname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_owner","type":"name","description":"Owner of the extended statistics object","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attnames","type":"name[]","description":"Names of the columns included in the extended statistics object","references":"pg_attribute.attname","hidden":false,"type_oid":1003,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"exprs","type":"text[]","description":"Expressions included in the extended statistics object","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"kinds","type":"\"char\"[]","description":"Types of extended statistics object enabled for this record","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","references":"pg_statistic_ext_data.stxdinherit","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"pg_ndistinct","description":"N-distinct counts for combinations of column values. If greater than zero, the estimated number of distinct values in the combination. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique combination of columns in which the number of distinct combinations is the same as the number of rows.","hidden":false,"type_oid":3361,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"dependencies","type":"pg_dependencies","description":"Functional dependency statistics","hidden":false,"type_oid":3402,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"text[]","description":"A list of the most common combinations of values in the columns. (Null if no combinations seem to be more common than any others.)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_val_nulls","type":"boolean[]","description":"A list of NULL flags for the most common combinations of values. (Null when most_common_vals is.)","documented_type":"bool[]","hidden":false,"type_oid":1000,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"double precision[]","description":"A list of the frequencies of the most common combinations, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float8[]","hidden":false,"type_oid":1022,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_base_freqs","type":"double precision[]","description":"A list of the base frequencies of the most common combinations, i.e., product of per-value frequencies. (Null when most_common_vals is.)","documented_type":"float8[]","hidden":false,"type_oid":1022,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-stats-ext.html","source_path":"sources/postgresql/15/view-pg-stats-ext.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12058,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_stats_ext provides access to information about each extended statistics object in the database, combining information stored in the pg_statistic_ext and pg_statistic_ext_data catalogs. This view allows access only to rows of pg_statistic_ext and pg_statistic_ext_data that correspond to tables the user owns, and therefore it is safe to allow public read access to this view.\n\npg_stats_ext is also designed to present the information in a more readable format than the underlying catalogs — at the cost that its schema must be extended whenever new types of extended statistics are added to pg_statistic_ext.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_schemaname","type":"name","description":"Name of schema containing extended statistics object","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_name","type":"name","description":"Name of extended statistics object","references":"pg_statistic_ext.stxname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_owner","type":"name","description":"Owner of the extended statistics object","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attnames","type":"name[]","description":"Names of the columns included in the extended statistics object","references":"pg_attribute.attname","hidden":false,"type_oid":1003,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"exprs","type":"text[]","description":"Expressions included in the extended statistics object","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"kinds","type":"\"char\"[]","description":"Types of extended statistics object enabled for this record","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","references":"pg_statistic_ext_data.stxdinherit","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"pg_ndistinct","description":"N-distinct counts for combinations of column values. If greater than zero, the estimated number of distinct values in the combination. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique combination of columns in which the number of distinct combinations is the same as the number of rows.","hidden":false,"type_oid":3361,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"dependencies","type":"pg_dependencies","description":"Functional dependency statistics","hidden":false,"type_oid":3402,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"text[]","description":"A list of the most common combinations of values in the columns. (Null if no combinations seem to be more common than any others.)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_val_nulls","type":"boolean[]","description":"A list of NULL flags for the most common combinations of values. (Null when most_common_vals is.)","documented_type":"bool[]","hidden":false,"type_oid":1000,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"double precision[]","description":"A list of the frequencies of the most common combinations, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float8[]","hidden":false,"type_oid":1022,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_base_freqs","type":"double precision[]","description":"A list of the base frequencies of the most common combinations, i.e., product of per-value frequencies. (Null when most_common_vals is.)","documented_type":"float8[]","hidden":false,"type_oid":1022,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-stats-ext.html","source_path":"sources/postgresql/16/view-pg-stats-ext.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12058,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_stats_ext provides access to information about each extended statistics object in the database, combining information stored in the pg_statistic_ext and pg_statistic_ext_data catalogs. This view allows access only to rows of pg_statistic_ext and pg_statistic_ext_data that correspond to tables the user owns, and therefore it is safe to allow public read access to this view.\n\npg_stats_ext is also designed to present the information in a more readable format than the underlying catalogs — at the cost that its schema must be extended whenever new types of extended statistics are added to pg_statistic_ext.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_schemaname","type":"name","description":"Name of schema containing extended statistics object","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_name","type":"name","description":"Name of extended statistics object","references":"pg_statistic_ext.stxname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_owner","type":"name","description":"Owner of the extended statistics object","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attnames","type":"name[]","description":"Names of the columns included in the extended statistics object","references":"pg_attribute.attname","hidden":false,"type_oid":1003,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"exprs","type":"text[]","description":"Expressions included in the extended statistics object","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"kinds","type":"\"char\"[]","description":"Types of extended statistics object enabled for this record","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","references":"pg_statistic_ext_data.stxdinherit","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"pg_ndistinct","description":"N-distinct counts for combinations of column values. If greater than zero, the estimated number of distinct values in the combination. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique combination of columns in which the number of distinct combinations is the same as the number of rows.","hidden":false,"type_oid":3361,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"dependencies","type":"pg_dependencies","description":"Functional dependency statistics","hidden":false,"type_oid":3402,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"text[]","description":"A list of the most common combinations of values in the columns. (Null if no combinations seem to be more common than any others.)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_val_nulls","type":"boolean[]","description":"A list of NULL flags for the most common combinations of values. (Null when most_common_vals is.)","documented_type":"bool[]","hidden":false,"type_oid":1000,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"double precision[]","description":"A list of the frequencies of the most common combinations, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float8[]","hidden":false,"type_oid":1022,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_base_freqs","type":"double precision[]","description":"A list of the base frequencies of the most common combinations, i.e., product of per-value frequencies. (Null when most_common_vals is.)","documented_type":"float8[]","hidden":false,"type_oid":1022,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-stats-ext.html","source_path":"sources/postgresql/17/view-pg-stats-ext.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12058,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_stats_ext provides access to information about each extended statistics object in the database, combining information stored in the pg_statistic_ext and pg_statistic_ext_data catalogs. This view allows access only to rows of pg_statistic_ext and pg_statistic_ext_data that correspond to tables the user owns, and therefore it is safe to allow public read access to this view.\n\npg_stats_ext is also designed to present the information in a more readable format than the underlying catalogs — at the cost that its schema must be extended whenever new types of extended statistics are added to pg_statistic_ext.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_schemaname","type":"name","description":"Name of schema containing extended statistics object","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_name","type":"name","description":"Name of extended statistics object","references":"pg_statistic_ext.stxname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_owner","type":"name","description":"Owner of the extended statistics object","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attnames","type":"name[]","description":"Names of the columns included in the extended statistics object","references":"pg_attribute.attname","hidden":false,"type_oid":1003,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"exprs","type":"text[]","description":"Expressions included in the extended statistics object","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"kinds","type":"\"char\"[]","description":"Types of extended statistics object enabled for this record","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","references":"pg_statistic_ext_data.stxdinherit","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"pg_ndistinct","description":"N-distinct counts for combinations of column values. If greater than zero, the estimated number of distinct values in the combination. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique combination of columns in which the number of distinct combinations is the same as the number of rows.","hidden":false,"type_oid":3361,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"dependencies","type":"pg_dependencies","description":"Functional dependency statistics","hidden":false,"type_oid":3402,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"text[]","description":"A list of the most common combinations of values in the columns. (Null if no combinations seem to be more common than any others.)","hidden":false,"type_oid":1009,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_val_nulls","type":"boolean[]","description":"A list of NULL flags for the most common combinations of values. (Null when most_common_vals is.)","documented_type":"bool[]","hidden":false,"type_oid":1000,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"double precision[]","description":"A list of the frequencies of the most common combinations, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float8[]","hidden":false,"type_oid":1022,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_base_freqs","type":"double precision[]","description":"A list of the base frequencies of the most common combinations, i.e., product of per-value frequencies. (Null when most_common_vals is.)","documented_type":"float8[]","hidden":false,"type_oid":1022,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-stats-ext.html","source_path":"sources/postgresql/18/view-pg-stats-ext.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12058,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_stats_ext provides access to information about each extended statistics object in the database, combining information stored in the pg_statistic_ext and pg_statistic_ext_data catalogs. This view allows access only to rows of pg_statistic_ext and pg_statistic_ext_data that correspond to tables the user owns, and therefore it is safe to allow public read access to this view.\n\npg_stats_ext is also designed to present the information in a more readable format than the underlying catalogs — at the cost that its schema must be extended whenever new types of extended statistics are added to pg_statistic_ext.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tableid","type":"oid","description":"OID of table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_schemaname","type":"name","description":"Name of schema containing extended statistics object","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_name","type":"name","description":"Name of extended statistics object","references":"pg_statistic_ext.stxname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_id","type":"oid","description":"OID of extended statistics object","references":"pg_statistic_ext.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_owner","type":"name","description":"Owner of the extended statistics object","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"attnames","type":"name[]","description":"Names of the columns included in the extended statistics object","references":"pg_attribute.attname","hidden":false,"type_oid":1003,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"exprs","type":"text[]","description":"Expressions included in the extended statistics object","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"kinds","type":"\"char\"[]","description":"Types of extended statistics object enabled for this record","documented_type":"char[]","hidden":false,"type_oid":1002,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","references":"pg_statistic_ext_data.stxdinherit","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"pg_ndistinct","description":"N-distinct counts for combinations of column values. If greater than zero, the estimated number of distinct values in the combination. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique combination of columns in which the number of distinct combinations is the same as the number of rows.","hidden":false,"type_oid":3361,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"dependencies","type":"pg_dependencies","description":"Functional dependency statistics","hidden":false,"type_oid":3402,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"text[]","description":"A list of the most common combinations of values in the columns. (Null if no combinations seem to be more common than any others.)","hidden":false,"type_oid":1009,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_val_nulls","type":"boolean[]","description":"A list of NULL flags for the most common combinations of values. (Null when most_common_vals is.)","documented_type":"bool[]","hidden":false,"type_oid":1000,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"double precision[]","description":"A list of the frequencies of the most common combinations, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float8[]","hidden":false,"type_oid":1022,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_base_freqs","type":"double precision[]","description":"A list of the base frequencies of the most common combinations, i.e., product of per-value frequencies. (Null when most_common_vals is.)","documented_type":"float8[]","hidden":false,"type_oid":1022,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-stats-ext.html","source_path":"sources/postgresql/19/view-pg-stats-ext.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12058,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"11","to":"12","status":"added","added_columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_schemaname","type":"name","description":"Name of schema containing extended statistic","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_name","type":"name","description":"Name of extended statistics","references":"pg_statistic_ext.stxname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_owner","type":"name","description":"Owner of the extended statistics","references":"pg_authid.rolname","documented_type":"oid","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false,"documented_references":"pg_authid.oid","reference_note":"system_views.sql projects pg_get_userbyid(stxowner), a role name rather than the stored owner OID.","reference_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/backend/catalog/system_views.sql"},{"name":"attnames","type":"name[]","description":"Names of the columns the extended statistics is defined on","references":"pg_attribute.attname","hidden":false,"type_oid":1003,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"kinds","type":"\"char\"[]","description":"Types of extended statistics enabled for this record","documented_type":"text[]","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":1002,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"pg_ndistinct","description":"N-distinct counts for combinations of column values. If greater than zero, the estimated number of distinct values in the combination. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the column seems to have a fixed number of possible values.) For example, -1 indicates a unique combination of columns in which the number of distinct combinations is the same as the number of rows.","hidden":false,"type_oid":3361,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"dependencies","type":"pg_dependencies","description":"Functional dependency statistics","hidden":false,"type_oid":3402,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"text[]","description":"A list of the most common combinations of values in the columns. (Null if no combinations seem to be more common than any others.)","documented_type":"anyarray","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":1009,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_val_nulls","type":"boolean[]","description":"A list of NULL flags for the most common combinations of values. (Null when most_common_vals is.)","documented_type":"anyarray","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":1000,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"double precision[]","description":"A list of the frequencies of the most common combinations, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"real[]","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":1022,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_base_freqs","type":"double precision[]","description":"A list of the base frequencies of the most common combinations, i.e., product of per-value frequencies. (Null when most_common_vals is.)","documented_type":"real[]","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":1022,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[{"name":"exprs","type":"text[]","description":"Expressions included in the extended statistics object","hidden":false,"type_oid":1009,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"attnames","from":"Names of the columns the extended statistics is defined on","to":"Names of the columns included in the extended statistics object"},{"name":"kinds","from":"Types of extended statistics enabled for this record","to":"Types of extended statistics object enabled for this record"},{"name":"statistics_name","from":"Name of extended statistics","to":"Name of extended statistics object"},{"name":"statistics_owner","from":"Owner of the extended statistics","to":"Owner of the extended statistics object"},{"name":"statistics_schemaname","from":"Name of schema containing extended statistic","to":"Name of schema containing extended statistics object"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"14","to":"15","status":"changed","added_columns":[{"name":"inherited","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","references":"pg_statistic_ext_data.stxdinherit","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"tableid","type":"oid","description":"OID of table","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_id","type":"oid","description":"OID of extended statistics object","references":"pg_statistic_ext.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_stats_ext_exprs","kind":"view","summary":"The view pg_stats_ext_exprs provides access to information about all expressions included in extended statistics objects, combining information stored in the pg_statistic_ext and pg_statistic_ext_data catalogs. This view allows access only to rows of pg_statistic_ext and pg_statistic_ext_data that correspond to tables the user owns, and therefore it is safe to allow public read access to this view.","first_version":"14","last_version":"19","versions":{"14":{"description":"The view pg_stats_ext_exprs provides access to information about all expressions included in extended statistics objects, combining information stored in the pg_statistic_ext and pg_statistic_ext_data catalogs. This view allows access only to rows of pg_statistic_ext and pg_statistic_ext_data that correspond to tables the user owns, and therefore it is safe to allow public read access to this view.\n\npg_stats_ext_exprs is also designed to present the information in a more readable format than the underlying catalogs — at the cost that its schema must be extended whenever the structure of statistics in pg_statistic_ext changes.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the statistics object is defined on","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_schemaname","type":"name","description":"Name of schema containing extended statistics object","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_name","type":"name","description":"Name of extended statistics object","references":"pg_statistic_ext.stxname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_owner","type":"name","description":"Owner of the extended statistics object","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"expr","type":"text","description":"Expression included in the extended statistics object","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of expression entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of expression's entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the expression. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the expression seems to have a fixed number of possible values.) For example, -1 indicates a unique expression in which the number of distinct values is the same as the number of rows.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the expression. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the expression's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This expression is null if the expression data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the expression values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the expression will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This expression is null if the expression's data type does not have a < operator.)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the expression. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the expression, followed by the average number of distinct non-null elements. (Null for scalar types.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-stats-ext-exprs.html","source_path":"sources/postgresql/14/view-pg-stats-ext-exprs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12280,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_stats_ext_exprs provides access to information about all expressions included in extended statistics objects, combining information stored in the pg_statistic_ext and pg_statistic_ext_data catalogs. This view allows access only to rows of pg_statistic_ext and pg_statistic_ext_data that correspond to tables the user owns, and therefore it is safe to allow public read access to this view.\n\npg_stats_ext_exprs is also designed to present the information in a more readable format than the underlying catalogs — at the cost that its schema must be extended whenever the structure of statistics in pg_statistic_ext changes.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the statistics object is defined on","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_schemaname","type":"name","description":"Name of schema containing extended statistics object","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_name","type":"name","description":"Name of extended statistics object","references":"pg_statistic_ext.stxname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_owner","type":"name","description":"Owner of the extended statistics object","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"expr","type":"text","description":"Expression included in the extended statistics object","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","references":"pg_statistic_ext_data.stxdinherit","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of expression entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of expression's entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the expression. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the expression seems to have a fixed number of possible values.) For example, -1 indicates a unique expression in which the number of distinct values is the same as the number of rows.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the expression. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the expression's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This expression is null if the expression data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the expression values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the expression will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This expression is null if the expression's data type does not have a < operator.)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the expression. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the expression, followed by the average number of distinct non-null elements. (Null for scalar types.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-stats-ext-exprs.html","source_path":"sources/postgresql/15/view-pg-stats-ext-exprs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12063,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_stats_ext_exprs provides access to information about all expressions included in extended statistics objects, combining information stored in the pg_statistic_ext and pg_statistic_ext_data catalogs. This view allows access only to rows of pg_statistic_ext and pg_statistic_ext_data that correspond to tables the user owns, and therefore it is safe to allow public read access to this view.\n\npg_stats_ext_exprs is also designed to present the information in a more readable format than the underlying catalogs — at the cost that its schema must be extended whenever the structure of statistics in pg_statistic_ext changes.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the statistics object is defined on","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_schemaname","type":"name","description":"Name of schema containing extended statistics object","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_name","type":"name","description":"Name of extended statistics object","references":"pg_statistic_ext.stxname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_owner","type":"name","description":"Owner of the extended statistics object","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"expr","type":"text","description":"Expression included in the extended statistics object","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","references":"pg_statistic_ext_data.stxdinherit","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of expression entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of expression's entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the expression. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the expression seems to have a fixed number of possible values.) For example, -1 indicates a unique expression in which the number of distinct values is the same as the number of rows.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the expression. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the expression's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This expression is null if the expression data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the expression values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the expression will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This expression is null if the expression's data type does not have a < operator.)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the expression. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the expression, followed by the average number of distinct non-null elements. (Null for scalar types.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-stats-ext-exprs.html","source_path":"sources/postgresql/16/view-pg-stats-ext-exprs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12063,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_stats_ext_exprs provides access to information about all expressions included in extended statistics objects, combining information stored in the pg_statistic_ext and pg_statistic_ext_data catalogs. This view allows access only to rows of pg_statistic_ext and pg_statistic_ext_data that correspond to tables the user owns, and therefore it is safe to allow public read access to this view.\n\npg_stats_ext_exprs is also designed to present the information in a more readable format than the underlying catalogs — at the cost that its schema must be extended whenever the structure of statistics in pg_statistic_ext changes.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the statistics object is defined on","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_schemaname","type":"name","description":"Name of schema containing extended statistics object","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_name","type":"name","description":"Name of extended statistics object","references":"pg_statistic_ext.stxname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_owner","type":"name","description":"Owner of the extended statistics object","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"expr","type":"text","description":"Expression included in the extended statistics object","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","references":"pg_statistic_ext_data.stxdinherit","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of expression entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of expression's entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the expression. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the expression seems to have a fixed number of possible values.) For example, -1 indicates a unique expression in which the number of distinct values is the same as the number of rows.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the expression. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the expression's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This expression is null if the expression data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the expression values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the expression will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This expression is null if the expression's data type does not have a < operator.)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the expression. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the expression, followed by the average number of distinct non-null elements. (Null for scalar types.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-stats-ext-exprs.html","source_path":"sources/postgresql/17/view-pg-stats-ext-exprs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12063,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_stats_ext_exprs provides access to information about all expressions included in extended statistics objects, combining information stored in the pg_statistic_ext and pg_statistic_ext_data catalogs. This view allows access only to rows of pg_statistic_ext and pg_statistic_ext_data that correspond to tables the user owns, and therefore it is safe to allow public read access to this view.\n\npg_stats_ext_exprs is also designed to present the information in a more readable format than the underlying catalogs — at the cost that its schema must be extended whenever the structure of statistics in pg_statistic_ext changes.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the statistics object is defined on","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_schemaname","type":"name","description":"Name of schema containing extended statistics object","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_name","type":"name","description":"Name of extended statistics object","references":"pg_statistic_ext.stxname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_owner","type":"name","description":"Owner of the extended statistics object","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"expr","type":"text","description":"Expression included in the extended statistics object","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","references":"pg_statistic_ext_data.stxdinherit","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of expression entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of expression's entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the expression. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the expression seems to have a fixed number of possible values.) For example, -1 indicates a unique expression in which the number of distinct values is the same as the number of rows.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the expression. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the expression's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This expression is null if the expression data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the expression values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the expression will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This expression is null if the expression's data type does not have a < operator.)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the expression. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the expression, followed by the average number of distinct non-null elements. (Null for scalar types.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-stats-ext-exprs.html","source_path":"sources/postgresql/18/view-pg-stats-ext-exprs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12063,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_stats_ext_exprs provides access to information about all expressions included in extended statistics objects, combining information stored in the pg_statistic_ext and pg_statistic_ext_data catalogs. This view allows access only to rows of pg_statistic_ext and pg_statistic_ext_data that correspond to tables the user owns, and therefore it is safe to allow public read access to this view.\n\npg_stats_ext_exprs is also designed to present the information in a more readable format than the underlying catalogs — at the cost that its schema must be extended whenever the structure of statistics in pg_statistic_ext changes.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the statistics object is defined on","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tableid","type":"oid","description":"OID of table the statistics object is defined on","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_schemaname","type":"name","description":"Name of schema containing extended statistics object","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_name","type":"name","description":"Name of extended statistics object","references":"pg_statistic_ext.stxname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_id","type":"oid","description":"OID of extended statistics object","references":"pg_statistic_ext.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_owner","type":"name","description":"Owner of the extended statistics object","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"expr","type":"text","description":"Expression included in the extended statistics object","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"inherited","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","references":"pg_statistic_ext_data.stxdinherit","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of expression entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of expression's entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the expression. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the expression seems to have a fixed number of possible values.) For example, -1 indicates a unique expression in which the number of distinct values is the same as the number of rows.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the expression. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the expression's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This expression is null if the expression data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the expression values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the expression will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This expression is null if the expression's data type does not have a < operator.)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the expression. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the expression, followed by the average number of distinct non-null elements. (Null for scalar types.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"range_length_histogram","type":"anyarray","description":"A histogram of the lengths of non-empty and non-null range values of an expression. (Null for non-range types.) This histogram is calculated using the subtype_diff range function regardless of whether range bounds are inclusive.","hidden":false,"type_oid":2277,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"range_empty_frac","type":"real","description":"Fraction of expression entries whose values are empty ranges. (Null for non-range types.)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"range_bounds_histogram","type":"anyarray","description":"A histogram of lower and upper bounds of non-empty and non-null range values. (Null for non-range types.) These two histograms are represented as a single array of ranges, whose lower bounds represent the histogram of lower bounds, and upper bounds represent the histogram of upper bounds.","hidden":false,"type_oid":2277,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-stats-ext-exprs.html","source_path":"sources/postgresql/19/view-pg-stats-ext-exprs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12063,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"13","to":"14","status":"added","added_columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table the statistics object is defined on","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_schemaname","type":"name","description":"Name of schema containing extended statistics object","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_name","type":"name","description":"Name of extended statistics object","references":"pg_statistic_ext.stxname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_owner","type":"name","description":"Owner of the extended statistics object","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"expr","type":"text","description":"Expression included in the extended statistics object","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"null_frac","type":"real","description":"Fraction of expression entries that are null","documented_type":"float4","hidden":false,"type_oid":700,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"avg_width","type":"integer","description":"Average width in bytes of expression's entries","documented_type":"int4","hidden":false,"type_oid":23,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"n_distinct","type":"real","description":"If greater than zero, the estimated number of distinct values in the expression. If less than zero, the negative of the number of distinct values divided by the number of rows. (The negated form is used when ANALYZE believes that the number of distinct values is likely to increase as the table grows; the positive form is used when the expression seems to have a fixed number of possible values.) For example, -1 indicates a unique expression in which the number of distinct values is the same as the number of rows.","documented_type":"float4","hidden":false,"type_oid":700,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_vals","type":"anyarray","description":"A list of the most common values in the expression. (Null if no values seem to be more common than any others.)","hidden":false,"type_oid":2277,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_freqs","type":"real[]","description":"A list of the frequencies of the most common values, i.e., number of occurrences of each divided by total number of rows. (Null when most_common_vals is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"histogram_bounds","type":"anyarray","description":"A list of values that divide the expression's values into groups of approximately equal population. The values in most_common_vals, if present, are omitted from this histogram calculation. (This expression is null if the expression data type does not have a < operator or if the most_common_vals list accounts for the entire population.)","hidden":false,"type_oid":2277,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"correlation","type":"real","description":"Statistical correlation between physical row ordering and logical ordering of the expression values. This ranges from -1 to +1. When the value is near -1 or +1, an index scan on the expression will be estimated to be cheaper than when it is near zero, due to reduction of random access to the disk. (This expression is null if the expression's data type does not have a < operator.)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elems","type":"anyarray","description":"A list of non-null element values most often appearing within values of the expression. (Null for scalar types.)","hidden":false,"type_oid":2277,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"most_common_elem_freqs","type":"real[]","description":"A list of the frequencies of the most common element values, i.e., the fraction of rows containing at least one instance of the given value. Two or three additional values follow the per-element frequencies; these are the minimum and maximum of the preceding per-element frequencies, and optionally the frequency of null elements. (Null when most_common_elems is.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"elem_count_histogram","type":"real[]","description":"A histogram of the counts of distinct non-null element values within the values of the expression, followed by the average number of distinct non-null elements. (Null for scalar types.)","documented_type":"float4[]","hidden":false,"type_oid":1021,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"14","to":"15","status":"changed","added_columns":[{"name":"inherited","type":"boolean","description":"If true, the stats include values from child tables, not just the values in the specified relation","references":"pg_statistic_ext_data.stxdinherit","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"tableid","type":"oid","description":"OID of table the statistics object is defined on","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"statistics_id","type":"oid","description":"OID of extended statistics object","references":"pg_statistic_ext.oid","hidden":false,"type_oid":26,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"range_length_histogram","type":"anyarray","description":"A histogram of the lengths of non-empty and non-null range values of an expression. (Null for non-range types.) This histogram is calculated using the subtype_diff range function regardless of whether range bounds are inclusive.","hidden":false,"type_oid":2277,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"range_empty_frac","type":"real","description":"Fraction of expression entries whose values are empty ranges. (Null for non-range types.)","documented_type":"float4","hidden":false,"type_oid":700,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"range_bounds_histogram","type":"anyarray","description":"A histogram of lower and upper bounds of non-empty and non-null range values. (Null for non-range types.) These two histograms are represented as a single array of ranges, whose lower bounds represent the histogram of lower bounds, and upper bounds represent the histogram of upper bounds.","hidden":false,"type_oid":2277,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_subscription","kind":"catalog","summary":"logical replication subscriptions","first_version":"10","last_version":"19","versions":{"10":{"description":"The catalog pg_subscription contains all existing logical replication subscriptions. For more information about logical replication see Chapter 31.\n\nUnlike most system catalogs, pg_subscription is shared across all databases of a cluster: There is only one copy of pg_subscription per cluster, not one per database.\n\nAccess to the column subconninfo is revoked from normal users, because it could contain plain-text passwords.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subdbid","type":"oid","description":"OID of the database which the subscription resides in","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subowner","type":"oid","description":"Owner of the subscription","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subenabled","type":"boolean","description":"If true, the subscription is enabled and should be replicating.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subconninfo","type":"text","description":"Connection string to the upstream database","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subslotname","type":"name","description":"Name of the replication slot in the upstream database (also used for the local replication origin name); null represents NONE","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subsynccommit","type":"text","description":"Contains the value of the synchronous_commit setting for the subscription workers.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subpublications","type":"text[]","description":"Array of subscribed publication names. These reference the publications on the publisher server. For more on publications see Section 31.1.","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-subscription.html","source_path":"sources/postgresql/10/catalog-pg-subscription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_subscription.h","definition_source_path":"sources/postgresql/10/source/pg_subscription.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":6100,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_subscription contains all existing logical replication subscriptions. For more information about logical replication see Chapter 31.\n\nUnlike most system catalogs, pg_subscription is shared across all databases of a cluster: there is only one copy of pg_subscription per cluster, not one per database.\n\nAccess to the column subconninfo is revoked from normal users, because it could contain plain-text passwords.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subdbid","type":"oid","description":"OID of the database which the subscription resides in","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subowner","type":"oid","description":"Owner of the subscription","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subenabled","type":"boolean","description":"If true, the subscription is enabled and should be replicating.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subconninfo","type":"text","description":"Connection string to the upstream database","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subslotname","type":"name","description":"Name of the replication slot in the upstream database (also used for the local replication origin name); null represents NONE","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subsynccommit","type":"text","description":"Contains the value of the synchronous_commit setting for the subscription workers.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subpublications","type":"text[]","description":"Array of subscribed publication names. These reference the publications on the publisher server. For more on publications see Section 31.1.","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-subscription.html","source_path":"sources/postgresql/11/catalog-pg-subscription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_subscription.h","definition_source_path":"sources/postgresql/11/source/pg_subscription.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":6100,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_subscription contains all existing logical replication subscriptions. For more information about logical replication see Chapter 30.\n\nUnlike most system catalogs, pg_subscription is shared across all databases of a cluster: there is only one copy of pg_subscription per cluster, not one per database.\n\nAccess to the column subconninfo is revoked from normal users, because it could contain plain-text passwords.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subdbid","type":"oid","description":"OID of the database which the subscription resides in","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subowner","type":"oid","description":"Owner of the subscription","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subenabled","type":"boolean","description":"If true, the subscription is enabled and should be replicating.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subconninfo","type":"text","description":"Connection string to the upstream database","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subslotname","type":"name","description":"Name of the replication slot in the upstream database (also used for the local replication origin name); null represents NONE","hidden":false,"type_oid":19,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subsynccommit","type":"text","description":"Contains the value of the synchronous_commit setting for the subscription workers.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subpublications","type":"text[]","description":"Array of subscribed publication names. These reference the publications on the publisher server. For more on publications see Section 30.1.","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-subscription.html","source_path":"sources/postgresql/12/catalog-pg-subscription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_subscription.h","definition_source_path":"sources/postgresql/12/source/pg_subscription.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":6100,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_subscription contains all existing logical replication subscriptions. For more information about logical replication see Chapter 30.\n\nUnlike most system catalogs, pg_subscription is shared across all databases of a cluster: there is only one copy of pg_subscription per cluster, not one per database.\n\nAccess to the column subconninfo is revoked from normal users, because it could contain plain-text passwords.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subdbid","type":"oid","description":"OID of the database which the subscription resides in","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subowner","type":"oid","description":"Owner of the subscription","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subenabled","type":"boolean","description":"If true, the subscription is enabled and should be replicating.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subconninfo","type":"text","description":"Connection string to the upstream database","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subslotname","type":"name","description":"Name of the replication slot in the upstream database (also used for the local replication origin name); null represents NONE","hidden":false,"type_oid":19,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subsynccommit","type":"text","description":"Contains the value of the synchronous_commit setting for the subscription workers.","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subpublications","type":"text[]","description":"Array of subscribed publication names. These reference the publications on the publisher server. For more on publications see Section 30.1.","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-subscription.html","source_path":"sources/postgresql/13/catalog-pg-subscription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_subscription.h","definition_source_path":"sources/postgresql/13/source/pg_subscription.h","source_column_count":9,"documentary_schema_source":"documentation","relation_oid":6100,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_subscription contains all existing logical replication subscriptions. For more information about logical replication see Chapter 31.\n\nUnlike most system catalogs, pg_subscription is shared across all databases of a cluster: there is only one copy of pg_subscription per cluster, not one per database.\n\nAccess to the column subconninfo is revoked from normal users, because it could contain plain-text passwords.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subdbid","type":"oid","description":"OID of the database that the subscription resides in","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subowner","type":"oid","description":"Owner of the subscription","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subenabled","type":"boolean","description":"If true, the subscription is enabled and should be replicating","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subbinary","type":"boolean","description":"If true, the subscription will request that the publisher send data in binary format","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"substream","type":"boolean","description":"If true, the subscription will allow streaming of in-progress transactions","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subconninfo","type":"text","description":"Connection string to the upstream database","hidden":false,"type_oid":25,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subslotname","type":"name","description":"Name of the replication slot in the upstream database (also used for the local replication origin name); null represents NONE","hidden":false,"type_oid":19,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subsynccommit","type":"text","description":"The synchronous_commit setting for the subscription's workers to use","hidden":false,"type_oid":25,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subpublications","type":"text[]","description":"Array of subscribed publication names. These reference publications defined in the upstream database. For more on publications see Section 31.1.","hidden":false,"type_oid":1009,"attnum":11,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-subscription.html","source_path":"sources/postgresql/14/catalog-pg-subscription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_subscription.h","definition_source_path":"sources/postgresql/14/source/pg_subscription.h","source_column_count":11,"documentary_schema_source":"documentation","relation_oid":6100,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_subscription contains all existing logical replication subscriptions. For more information about logical replication see Chapter 31.\n\nUnlike most system catalogs, pg_subscription is shared across all databases of a cluster: there is only one copy of pg_subscription per cluster, not one per database.\n\nAccess to the column subconninfo is revoked from normal users, because it could contain plain-text passwords.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subdbid","type":"oid","description":"OID of the database that the subscription resides in","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subskiplsn","type":"pg_lsn","description":"Finish LSN of the transaction whose changes are to be skipped, if a valid LSN; otherwise 0/0.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subowner","type":"oid","description":"Owner of the subscription","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subenabled","type":"boolean","description":"If true, the subscription is enabled and should be replicating","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subbinary","type":"boolean","description":"If true, the subscription will request that the publisher send data in binary format","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"substream","type":"boolean","description":"If true, the subscription will allow streaming of in-progress transactions","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subtwophasestate","type":"\"char\"","description":"State codes for two-phase mode: d = disabled, p = pending enablement, e = enabled","documented_type":"char","hidden":false,"type_oid":18,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subdisableonerr","type":"boolean","description":"If true, the subscription will be disabled if one of its workers detects an error","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subconninfo","type":"text","description":"Connection string to the upstream database","hidden":false,"type_oid":25,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subslotname","type":"name","description":"Name of the replication slot in the upstream database (also used for the local replication origin name); null represents NONE","hidden":false,"type_oid":19,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subsynccommit","type":"text","description":"The synchronous_commit setting for the subscription's workers to use","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subpublications","type":"text[]","description":"Array of subscribed publication names. These reference publications defined in the upstream database. For more on publications see Section 31.1.","hidden":false,"type_oid":1009,"attnum":14,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-subscription.html","source_path":"sources/postgresql/15/catalog-pg-subscription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_subscription.h","definition_source_path":"sources/postgresql/15/source/pg_subscription.h","source_column_count":14,"documentary_schema_source":"documentation","relation_oid":6100,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_subscription contains all existing logical replication subscriptions. For more information about logical replication see Chapter 31.\n\nUnlike most system catalogs, pg_subscription is shared across all databases of a cluster: there is only one copy of pg_subscription per cluster, not one per database.\n\nAccess to the column subconninfo is revoked from normal users, because it could contain plain-text passwords.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subdbid","type":"oid","description":"OID of the database that the subscription resides in","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subskiplsn","type":"pg_lsn","description":"Finish LSN of the transaction whose changes are to be skipped, if a valid LSN; otherwise 0/0.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subowner","type":"oid","description":"Owner of the subscription","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subenabled","type":"boolean","description":"If true, the subscription is enabled and should be replicating","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subbinary","type":"boolean","description":"If true, the subscription will request that the publisher send data in binary format","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"substream","type":"\"char\"","description":"Controls how to handle the streaming of in-progress transactions: f = disallow streaming of in-progress transactions, t = spill the changes of in-progress transactions to disk and apply at once after the transaction is committed on the publisher and received by the subscriber, p = apply changes directly using a parallel apply worker if available (same as 't' if no worker is available)","documented_type":"char","hidden":false,"type_oid":18,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subtwophasestate","type":"\"char\"","description":"State codes for two-phase mode: d = disabled, p = pending enablement, e = enabled","documented_type":"char","hidden":false,"type_oid":18,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subdisableonerr","type":"boolean","description":"If true, the subscription will be disabled if one of its workers detects an error","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subpasswordrequired","type":"boolean","description":"If true, the subscription will be required to specify a password for authentication","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subrunasowner","type":"boolean","description":"If true, the subscription will be run with the permissions of the subscription owner","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subconninfo","type":"text","description":"Connection string to the upstream database","hidden":false,"type_oid":25,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subslotname","type":"name","description":"Name of the replication slot in the upstream database (also used for the local replication origin name); null represents NONE","hidden":false,"type_oid":19,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subsynccommit","type":"text","description":"The synchronous_commit setting for the subscription's workers to use","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subpublications","type":"text[]","description":"Array of subscribed publication names. These reference publications defined in the upstream database. For more on publications see Section 31.1.","hidden":false,"type_oid":1009,"attnum":16,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"suborigin","type":"text","description":"The origin value must be either none or any. The default is any. If none, the subscription will request the publisher to only send changes that don't have an origin. If any, the publisher sends changes regardless of their origin.","hidden":false,"type_oid":25,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-subscription.html","source_path":"sources/postgresql/16/catalog-pg-subscription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_subscription.h","definition_source_path":"sources/postgresql/16/source/pg_subscription.h","source_column_count":17,"documentary_schema_source":"documentation","relation_oid":6100,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_subscription contains all existing logical replication subscriptions. For more information about logical replication see Chapter 29.\n\nUnlike most system catalogs, pg_subscription is shared across all databases of a cluster: there is only one copy of pg_subscription per cluster, not one per database.\n\nAccess to the column subconninfo is revoked from normal users, because it could contain plain-text passwords.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subdbid","type":"oid","description":"OID of the database that the subscription resides in","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subskiplsn","type":"pg_lsn","description":"Finish LSN of the transaction whose changes are to be skipped, if a valid LSN; otherwise 0/0.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subowner","type":"oid","description":"Owner of the subscription","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subenabled","type":"boolean","description":"If true, the subscription is enabled and should be replicating","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subbinary","type":"boolean","description":"If true, the subscription will request that the publisher send data in binary format","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"substream","type":"\"char\"","description":"Controls how to handle the streaming of in-progress transactions: f = disallow streaming of in-progress transactions, t = spill the changes of in-progress transactions to disk and apply at once after the transaction is committed on the publisher and received by the subscriber, p = apply changes directly using a parallel apply worker if available (same as t if no worker is available)","documented_type":"char","hidden":false,"type_oid":18,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subtwophasestate","type":"\"char\"","description":"State codes for two-phase mode: d = disabled, p = pending enablement, e = enabled","documented_type":"char","hidden":false,"type_oid":18,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subdisableonerr","type":"boolean","description":"If true, the subscription will be disabled if one of its workers detects an error","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subpasswordrequired","type":"boolean","description":"If true, the subscription will be required to specify a password for authentication","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subrunasowner","type":"boolean","description":"If true, the subscription will be run with the permissions of the subscription owner","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subfailover","type":"boolean","description":"If true, the associated replication slots (i.e. the main slot and the table sync slots) in the upstream database are enabled to be synchronized to the standbys","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subconninfo","type":"text","description":"Connection string to the upstream database","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subslotname","type":"name","description":"Name of the replication slot in the upstream database (also used for the local replication origin name); null represents NONE","hidden":false,"type_oid":19,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subsynccommit","type":"text","description":"The synchronous_commit setting for the subscription's workers to use","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subpublications","type":"text[]","description":"Array of subscribed publication names. These reference publications defined in the upstream database. For more on publications see Section 29.1.","hidden":false,"type_oid":1009,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"suborigin","type":"text","description":"The origin value must be either none or any. The default is any. If none, the subscription will request the publisher to only send changes that don't have an origin. If any, the publisher sends changes regardless of their origin.","hidden":false,"type_oid":25,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-subscription.html","source_path":"sources/postgresql/17/catalog-pg-subscription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_subscription.h","definition_source_path":"sources/postgresql/17/source/pg_subscription.h","source_column_count":18,"documentary_schema_source":"documentation","relation_oid":6100,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_subscription contains all existing logical replication subscriptions. For more information about logical replication see Chapter 29.\n\nUnlike most system catalogs, pg_subscription is shared across all databases of a cluster: there is only one copy of pg_subscription per cluster, not one per database.\n\nAccess to the column subconninfo is revoked from normal users, because it could contain plain-text passwords.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subdbid","type":"oid","description":"OID of the database that the subscription resides in","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subskiplsn","type":"pg_lsn","description":"Finish LSN of the transaction whose changes are to be skipped, if a valid LSN; otherwise 0/0.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subowner","type":"oid","description":"Owner of the subscription","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subenabled","type":"boolean","description":"If true, the subscription is enabled and should be replicating","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subbinary","type":"boolean","description":"If true, the subscription will request that the publisher send data in binary format","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"substream","type":"\"char\"","description":"Controls how to handle the streaming of in-progress transactions: f = disallow streaming of in-progress transactions, t = spill the changes of in-progress transactions to disk and apply at once after the transaction is committed on the publisher and received by the subscriber, p = apply changes directly using a parallel apply worker if available (same as t if no worker is available)","documented_type":"char","hidden":false,"type_oid":18,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subtwophasestate","type":"\"char\"","description":"State codes for two-phase mode: d = disabled, p = pending enablement, e = enabled","documented_type":"char","hidden":false,"type_oid":18,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subdisableonerr","type":"boolean","description":"If true, the subscription will be disabled if one of its workers detects an error","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subpasswordrequired","type":"boolean","description":"If true, the subscription will be required to specify a password for authentication","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subrunasowner","type":"boolean","description":"If true, the subscription will be run with the permissions of the subscription owner","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subfailover","type":"boolean","description":"If true, the associated replication slots (i.e. the main slot and the table synchronization slots) in the upstream database are enabled to be synchronized to the standbys","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subconninfo","type":"text","description":"Connection string to the upstream database","hidden":false,"type_oid":25,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subslotname","type":"name","description":"Name of the replication slot in the upstream database (also used for the local replication origin name); null represents NONE","hidden":false,"type_oid":19,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subsynccommit","type":"text","description":"The synchronous_commit setting for the subscription's workers to use","hidden":false,"type_oid":25,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subpublications","type":"text[]","description":"Array of subscribed publication names. These reference publications defined in the upstream database. For more on publications see Section 29.1.","hidden":false,"type_oid":1009,"attnum":17,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"suborigin","type":"text","description":"The origin value must be either none or any. The default is any. If none, the subscription will request the publisher to only send changes that don't have an origin. If any, the publisher sends changes regardless of their origin.","hidden":false,"type_oid":25,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-subscription.html","source_path":"sources/postgresql/18/catalog-pg-subscription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_subscription.h","definition_source_path":"sources/postgresql/18/source/pg_subscription.h","source_column_count":18,"documentary_schema_source":"documentation","relation_oid":6100,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_subscription contains all existing logical replication subscriptions. For more information about logical replication see Chapter 29.\n\nUnlike most system catalogs, pg_subscription is shared across all databases of a cluster: there is only one copy of pg_subscription per cluster, not one per database.\n\nAccess to the column subconninfo is revoked from normal users, because it could contain plain-text passwords.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subdbid","type":"oid","description":"OID of the database that the subscription resides in","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subskiplsn","type":"pg_lsn","description":"Finish LSN of the transaction whose changes are to be skipped, if a valid LSN; otherwise 0/0000000.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subowner","type":"oid","description":"Owner of the subscription","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subenabled","type":"boolean","description":"If true, the subscription is enabled and should be replicating","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subbinary","type":"boolean","description":"If true, the subscription will request that the publisher send data in binary format","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"substream","type":"\"char\"","description":"Controls how to handle the streaming of in-progress transactions: f = disallow streaming of in-progress transactions, t = spill the changes of in-progress transactions to disk and apply at once after the transaction is committed on the publisher and received by the subscriber, p = apply changes directly using a parallel apply worker if available (same as t if no worker is available)","documented_type":"char","hidden":false,"type_oid":18,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subtwophasestate","type":"\"char\"","description":"State codes for two-phase mode: d = disabled, p = pending enablement, e = enabled","documented_type":"char","hidden":false,"type_oid":18,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subdisableonerr","type":"boolean","description":"If true, the subscription will be disabled if one of its workers detects an error","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subpasswordrequired","type":"boolean","description":"If true, the subscription will be required to specify a password for authentication","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subrunasowner","type":"boolean","description":"If true, the subscription will be run with the permissions of the subscription owner","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subfailover","type":"boolean","description":"If true, the associated replication slots (i.e. the main slot and the table synchronization slots) in the upstream database are enabled to be synchronized to the standbys","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subretaindeadtuples","type":"boolean","description":"If true, the detection of update_deleted is enabled and the information (e.g., dead tuples, commit timestamps, and origins) on the subscriber that is useful for conflict detection is retained.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"submaxretention","type":"integer","description":"The maximum duration (in milliseconds) for which information (e.g., dead tuples, commit timestamps, and origins) useful for conflict detection can be retained.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subretentionactive","type":"boolean","description":"The retention status of information (e.g., dead tuples, commit timestamps, and origins) useful for conflict detection. True if retain_dead_tuples is enabled, and the retention duration has not exceeded max_retention_duration, when defined.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subserver","type":"oid","description":"Foreign server to use for the connection string. Zero if subconninfo is nonnull.","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subconninfo","type":"text","description":"Connection string to the upstream database. NULL if subserver is nonzero.","hidden":false,"type_oid":25,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subslotname","type":"name","description":"Name of the replication slot in the upstream database (also used for the local replication origin name); null represents NONE","hidden":false,"type_oid":19,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"subsynccommit","type":"text","description":"The synchronous_commit setting for the subscription's workers to use","hidden":false,"type_oid":25,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subwalrcvtimeout","type":"text","description":"The wal_receiver_timeout setting for the subscription's workers to use","hidden":false,"type_oid":25,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subpublications","type":"text[]","description":"Array of subscribed publication names. These reference publications defined in the upstream database. For more on publications see Section 29.1.","hidden":false,"type_oid":1009,"attnum":22,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"suborigin","type":"text","description":"The origin value must be either none or any. The default is any. If none, the subscription will request the publisher to only send changes that don't have an origin. If any, the publisher sends changes regardless of their origin.","hidden":false,"type_oid":25,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-subscription.html","source_path":"sources/postgresql/19/catalog-pg-subscription.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_subscription.h","definition_source_path":"sources/postgresql/19/source/pg_subscription.h","source_column_count":23,"documentary_schema_source":"documentation","relation_oid":6100,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.6","to":"10","status":"added","added_columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subdbid","type":"oid","description":"OID of the database which the subscription resides in","references":"pg_database.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subname","type":"name","description":"Name of the subscription","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subowner","type":"oid","description":"Owner of the subscription","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subenabled","type":"boolean","description":"If true, the subscription is enabled and should be replicating.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subconninfo","type":"text","description":"Connection string to the upstream database","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subslotname","type":"name","description":"Name of the replication slot in the upstream database (also used for the local replication origin name); null represents NONE","hidden":false,"type_oid":19,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subsynccommit","type":"text","description":"Contains the value of the synchronous_commit setting for the subscription workers.","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subpublications","type":"text[]","description":"Array of subscribed publication names. These reference the publications on the publisher server. For more on publications see Section 31.1.","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":1,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"10","to":"11","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"},{"name":"subpublications","from":"Array of subscribed publication names. These reference the publications on the publisher server. For more on publications see Section 31.1.","to":"Array of subscribed publication names. These reference the publications on the publisher server. For more on publications see Section 30.1."}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[{"name":"subslotname","attribute":"not_null","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[{"name":"subbinary","type":"boolean","description":"If true, the subscription will request that the publisher send data in binary format","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"substream","type":"boolean","description":"If true, the subscription will allow streaming of in-progress transactions","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"subdbid","from":"OID of the database which the subscription resides in","to":"OID of the database that the subscription resides in"},{"name":"subenabled","from":"If true, the subscription is enabled and should be replicating.","to":"If true, the subscription is enabled and should be replicating"},{"name":"subpublications","from":"Array of subscribed publication names. These reference the publications on the publisher server. For more on publications see Section 30.1.","to":"Array of subscribed publication names. These reference publications defined in the upstream database. For more on publications see Section 31.1."},{"name":"subsynccommit","from":"Contains the value of the synchronous_commit setting for the subscription workers.","to":"The synchronous_commit setting for the subscription's workers to use"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"14","to":"15","status":"changed","added_columns":[{"name":"subskiplsn","type":"pg_lsn","description":"Finish LSN of the transaction whose changes are to be skipped, if a valid LSN; otherwise 0/0.","hidden":false,"type_oid":3220,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subtwophasestate","type":"\"char\"","description":"State codes for two-phase mode: d = disabled, p = pending enablement, e = enabled","documented_type":"char","hidden":false,"type_oid":18,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subdisableonerr","type":"boolean","description":"If true, the subscription will be disabled if one of its workers detects an error","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"15","to":"16","status":"changed","added_columns":[{"name":"subpasswordrequired","type":"boolean","description":"If true, the subscription will be required to specify a password for authentication","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subrunasowner","type":"boolean","description":"If true, the subscription will be run with the permissions of the subscription owner","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"suborigin","type":"text","description":"The origin value must be either none or any. The default is any. If none, the subscription will request the publisher to only send changes that don't have an origin. If any, the publisher sends changes regardless of their origin.","hidden":false,"type_oid":25,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[{"name":"substream","from":"boolean","to":"\"char\""}],"description_changes":[{"name":"substream","from":"If true, the subscription will allow streaming of in-progress transactions","to":"Controls how to handle the streaming of in-progress transactions: f = disallow streaming of in-progress transactions, t = spill the changes of in-progress transactions to disk and apply at once after the transaction is committed on the publisher and received by the subscriber, p = apply changes directly using a parallel apply worker if available (same as 't' if no worker is available)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"16","to":"17","status":"changed","added_columns":[{"name":"subfailover","type":"boolean","description":"If true, the associated replication slots (i.e. the main slot and the table sync slots) in the upstream database are enabled to be synchronized to the standbys","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"subpublications","from":"Array of subscribed publication names. These reference publications defined in the upstream database. For more on publications see Section 31.1.","to":"Array of subscribed publication names. These reference publications defined in the upstream database. For more on publications see Section 29.1."},{"name":"substream","from":"Controls how to handle the streaming of in-progress transactions: f = disallow streaming of in-progress transactions, t = spill the changes of in-progress transactions to disk and apply at once after the transaction is committed on the publisher and received by the subscriber, p = apply changes directly using a parallel apply worker if available (same as 't' if no worker is available)","to":"Controls how to handle the streaming of in-progress transactions: f = disallow streaming of in-progress transactions, t = spill the changes of in-progress transactions to disk and apply at once after the transaction is committed on the publisher and received by the subscriber, p = apply changes directly using a parallel apply worker if available (same as t if no worker is available)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"17","to":"18","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"subfailover","from":"If true, the associated replication slots (i.e. the main slot and the table sync slots) in the upstream database are enabled to be synchronized to the standbys","to":"If true, the associated replication slots (i.e. the main slot and the table synchronization slots) in the upstream database are enabled to be synchronized to the standbys"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[{"name":"subretaindeadtuples","type":"boolean","description":"If true, the detection of update_deleted is enabled and the information (e.g., dead tuples, commit timestamps, and origins) on the subscriber that is useful for conflict detection is retained.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"submaxretention","type":"integer","description":"The maximum duration (in milliseconds) for which information (e.g., dead tuples, commit timestamps, and origins) useful for conflict detection can be retained.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subretentionactive","type":"boolean","description":"The retention status of information (e.g., dead tuples, commit timestamps, and origins) useful for conflict detection. True if retain_dead_tuples is enabled, and the retention duration has not exceeded max_retention_duration, when defined.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subserver","type":"oid","description":"Foreign server to use for the connection string. Zero if subconninfo is nonnull.","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"subwalrcvtimeout","type":"text","description":"The wal_receiver_timeout setting for the subscription's workers to use","hidden":false,"type_oid":25,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"subconninfo","from":"Connection string to the upstream database","to":"Connection string to the upstream database. NULL if subserver is nonzero."},{"name":"subskiplsn","from":"Finish LSN of the transaction whose changes are to be skipped, if a valid LSN; otherwise 0/0.","to":"Finish LSN of the transaction whose changes are to be skipped, if a valid LSN; otherwise 0/0000000."}],"reference_changes":[],"attribute_changes":[{"name":"subconninfo","attribute":"not_null","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_subscription_rel","kind":"catalog","summary":"relation state for subscriptions","first_version":"10","last_version":"19","versions":{"10":{"description":"The catalog pg_subscription_rel contains the state for each replicated relation in each subscription. This is a many-to-many mapping.\n\nThis catalog only contains tables known to the subscription after running either CREATE SUBSCRIPTION or ALTER SUBSCRIPTION ... REFRESH PUBLICATION.","columns":[{"name":"srsubid","type":"oid","description":"Reference to subscription","references":"pg_subscription.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srrelid","type":"oid","description":"Reference to relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsubstate","type":"\"char\"","description":"State code: i = initialize, d = data is being copied, s = synchronized, r = ready (normal replication)","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsublsn","type":"pg_lsn","description":"Remote LSN of the state change used for synchronization coordination when in s or r states, otherwise null","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-subscription-rel.html","source_path":"sources/postgresql/10/catalog-pg-subscription-rel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_subscription_rel.h","definition_source_path":"sources/postgresql/10/source/pg_subscription_rel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":6102,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_subscription_rel contains the state for each replicated relation in each subscription. This is a many-to-many mapping.\n\nThis catalog only contains tables known to the subscription after running either CREATE SUBSCRIPTION or ALTER SUBSCRIPTION ... REFRESH PUBLICATION.","columns":[{"name":"srsubid","type":"oid","description":"Reference to subscription","references":"pg_subscription.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srrelid","type":"oid","description":"Reference to relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsubstate","type":"\"char\"","description":"State code: i = initialize, d = data is being copied, s = synchronized, r = ready (normal replication)","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsublsn","type":"pg_lsn","description":"Remote LSN of the state change used for synchronization coordination when in s or r states, otherwise null","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-subscription-rel.html","source_path":"sources/postgresql/11/catalog-pg-subscription-rel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_subscription_rel.h","definition_source_path":"sources/postgresql/11/source/pg_subscription_rel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":6102,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_subscription_rel contains the state for each replicated relation in each subscription. This is a many-to-many mapping.\n\nThis catalog only contains tables known to the subscription after running either CREATE SUBSCRIPTION or ALTER SUBSCRIPTION ... REFRESH PUBLICATION.","columns":[{"name":"srsubid","type":"oid","description":"Reference to subscription","references":"pg_subscription.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srrelid","type":"oid","description":"Reference to relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsubstate","type":"\"char\"","description":"State code: i = initialize, d = data is being copied, s = synchronized, r = ready (normal replication)","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsublsn","type":"pg_lsn","description":"Remote LSN of the state change used for synchronization coordination when in s or r states, otherwise null","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-subscription-rel.html","source_path":"sources/postgresql/12/catalog-pg-subscription-rel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_subscription_rel.h","definition_source_path":"sources/postgresql/12/source/pg_subscription_rel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":6102,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_subscription_rel contains the state for each replicated relation in each subscription. This is a many-to-many mapping.\n\nThis catalog only contains tables known to the subscription after running either CREATE SUBSCRIPTION or ALTER SUBSCRIPTION ... REFRESH PUBLICATION.","columns":[{"name":"srsubid","type":"oid","description":"Reference to subscription","references":"pg_subscription.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srrelid","type":"oid","description":"Reference to relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsubstate","type":"\"char\"","description":"State code: i = initialize, d = data is being copied, s = synchronized, r = ready (normal replication)","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsublsn","type":"pg_lsn","description":"Remote LSN of the state change used for synchronization coordination when in s or r states, otherwise null","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-subscription-rel.html","source_path":"sources/postgresql/13/catalog-pg-subscription-rel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_subscription_rel.h","definition_source_path":"sources/postgresql/13/source/pg_subscription_rel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":6102,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_subscription_rel contains the state for each replicated relation in each subscription. This is a many-to-many mapping.\n\nThis catalog only contains tables known to the subscription after running either CREATE SUBSCRIPTION or ALTER SUBSCRIPTION ... REFRESH PUBLICATION.","columns":[{"name":"srsubid","type":"oid","description":"Reference to subscription","references":"pg_subscription.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srrelid","type":"oid","description":"Reference to relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsubstate","type":"\"char\"","description":"State code: i = initialize, d = data is being copied, f = finished table copy, s = synchronized, r = ready (normal replication)","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsublsn","type":"pg_lsn","description":"Remote LSN of the state change used for synchronization coordination when in s or r states, otherwise null","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-subscription-rel.html","source_path":"sources/postgresql/14/catalog-pg-subscription-rel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_subscription_rel.h","definition_source_path":"sources/postgresql/14/source/pg_subscription_rel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":6102,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_subscription_rel contains the state for each replicated relation in each subscription. This is a many-to-many mapping.\n\nThis catalog only contains tables known to the subscription after running either CREATE SUBSCRIPTION or ALTER SUBSCRIPTION ... REFRESH PUBLICATION.","columns":[{"name":"srsubid","type":"oid","description":"Reference to subscription","references":"pg_subscription.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srrelid","type":"oid","description":"Reference to relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsubstate","type":"\"char\"","description":"State code: i = initialize, d = data is being copied, f = finished table copy, s = synchronized, r = ready (normal replication)","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsublsn","type":"pg_lsn","description":"Remote LSN of the state change used for synchronization coordination when in s or r states, otherwise null","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-subscription-rel.html","source_path":"sources/postgresql/15/catalog-pg-subscription-rel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_subscription_rel.h","definition_source_path":"sources/postgresql/15/source/pg_subscription_rel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":6102,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_subscription_rel contains the state for each replicated relation in each subscription. This is a many-to-many mapping.\n\nThis catalog only contains tables known to the subscription after running either CREATE SUBSCRIPTION or ALTER SUBSCRIPTION ... REFRESH PUBLICATION.","columns":[{"name":"srsubid","type":"oid","description":"Reference to subscription","references":"pg_subscription.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srrelid","type":"oid","description":"Reference to relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsubstate","type":"\"char\"","description":"State code: i = initialize, d = data is being copied, f = finished table copy, s = synchronized, r = ready (normal replication)","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsublsn","type":"pg_lsn","description":"Remote LSN of the state change used for synchronization coordination when in s or r states, otherwise null","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-subscription-rel.html","source_path":"sources/postgresql/16/catalog-pg-subscription-rel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_subscription_rel.h","definition_source_path":"sources/postgresql/16/source/pg_subscription_rel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":6102,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_subscription_rel contains the state for each replicated relation in each subscription. This is a many-to-many mapping.\n\nThis catalog only contains tables known to the subscription after running either CREATE SUBSCRIPTION or ALTER SUBSCRIPTION ... REFRESH PUBLICATION.","columns":[{"name":"srsubid","type":"oid","description":"Reference to subscription","references":"pg_subscription.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srrelid","type":"oid","description":"Reference to relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsubstate","type":"\"char\"","description":"State code: i = initialize, d = data is being copied, f = finished table copy, s = synchronized, r = ready (normal replication)","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsublsn","type":"pg_lsn","description":"Remote LSN of the state change used for synchronization coordination when in s or r states, otherwise null","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-subscription-rel.html","source_path":"sources/postgresql/17/catalog-pg-subscription-rel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_subscription_rel.h","definition_source_path":"sources/postgresql/17/source/pg_subscription_rel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":6102,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_subscription_rel contains the state for each replicated relation in each subscription. This is a many-to-many mapping.\n\nThis catalog only contains tables known to the subscription after running either CREATE SUBSCRIPTION or ALTER SUBSCRIPTION ... REFRESH PUBLICATION.","columns":[{"name":"srsubid","type":"oid","description":"Reference to subscription","references":"pg_subscription.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srrelid","type":"oid","description":"Reference to relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsubstate","type":"\"char\"","description":"State code: i = initialize, d = data is being copied, f = finished table copy, s = synchronized, r = ready (normal replication)","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsublsn","type":"pg_lsn","description":"Remote LSN of the state change used for synchronization coordination when in s or r states, otherwise null","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-subscription-rel.html","source_path":"sources/postgresql/18/catalog-pg-subscription-rel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_subscription_rel.h","definition_source_path":"sources/postgresql/18/source/pg_subscription_rel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":6102,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_subscription_rel stores the state of each replicated table and sequence for each subscription. This is a many-to-many mapping.\n\nThis catalog contains tables and sequences known to the subscription after running: CREATE SUBSCRIPTION, ALTER SUBSCRIPTION ... REFRESH PUBLICATION, or ALTER SUBSCRIPTION ... REFRESH SEQUENCES.","columns":[{"name":"srsubid","type":"oid","description":"Reference to subscription","references":"pg_subscription.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srrelid","type":"oid","description":"Reference to table or sequence","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsubstate","type":"\"char\"","description":"State code for the table or sequence. State codes for tables: i = initialize, d = data is being copied, f = finished table copy, s = synchronized, r = ready (normal replication) State codes for sequences: i = initialize, r = ready","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsublsn","type":"pg_lsn","description":"Remote LSN of the state change used for synchronization coordination when in s or r states, otherwise null. For sequences, this instead holds the publisher sequence's page LSN as of the last synchronization, which does not track replication progress the way it does for tables; see Section 29.7.2 for how it is used to detect out-of-sync sequences.","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-subscription-rel.html","source_path":"sources/postgresql/19/catalog-pg-subscription-rel.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_subscription_rel.h","definition_source_path":"sources/postgresql/19/source/pg_subscription_rel.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":6102,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.6","to":"10","status":"added","added_columns":[{"name":"srsubid","type":"oid","description":"Reference to subscription","references":"pg_subscription.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srrelid","type":"oid","description":"Reference to relation","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsubstate","type":"\"char\"","description":"State code: i = initialize, d = data is being copied, s = synchronized, r = ready (normal replication)","documented_type":"char","hidden":false,"type_oid":18,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"srsublsn","type":"pg_lsn","description":"Remote LSN of the state change used for synchronization coordination when in s or r states, otherwise null","hidden":false,"type_oid":3220,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[{"name":"srsublsn","attribute":"not_null","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"srsubstate","from":"State code: i = initialize, d = data is being copied, s = synchronized, r = ready (normal replication)","to":"State code: i = initialize, d = data is being copied, f = finished table copy, s = synchronized, r = ready (normal replication)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"srrelid","from":"Reference to relation","to":"Reference to table or sequence"},{"name":"srsublsn","from":"Remote LSN of the state change used for synchronization coordination when in s or r states, otherwise null","to":"Remote LSN of the state change used for synchronization coordination when in s or r states, otherwise null. For sequences, this instead holds the publisher sequence's page LSN as of the last synchronization, which does not track replication progress the way it does for tables; see Section 29.7.2 for how it is used to detect out-of-sync sequences."},{"name":"srsubstate","from":"State code: i = initialize, d = data is being copied, f = finished table copy, s = synchronized, r = ready (normal replication)","to":"State code for the table or sequence. State codes for tables: i = initialize, d = data is being copied, f = finished table copy, s = synchronized, r = ready (normal replication) State codes for sequences: i = initialize, r = ready"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_tables","kind":"view","summary":"The view pg_tables provides access to useful information about each table in the database.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The view pg_tables provides access to useful information about each table in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tableowner","type":"name","description":"Name of table's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing table (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if table has (or recently had) any indexes","references":"pg_class.relhasindex","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasrules","type":"boolean","description":"True if table has (or once had) rules","references":"pg_class.relhasrules","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hastriggers","type":"boolean","description":"True if table has (or once had) triggers","references":"pg_class.relhastriggers","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/view-pg-tables.html","source_path":"sources/postgresql/9.0/view-pg-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10973,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The view pg_tables provides access to useful information about each table in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tableowner","type":"name","description":"Name of table's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing table (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if table has (or recently had) any indexes","references":"pg_class.relhasindex","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasrules","type":"boolean","description":"True if table has (or once had) rules","references":"pg_class.relhasrules","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hastriggers","type":"boolean","description":"True if table has (or once had) triggers","references":"pg_class.relhastriggers","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/view-pg-tables.html","source_path":"sources/postgresql/9.1/view-pg-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10988,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The view pg_tables provides access to useful information about each table in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tableowner","type":"name","description":"Name of table's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing table (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if table has (or recently had) any indexes","references":"pg_class.relhasindex","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasrules","type":"boolean","description":"True if table has (or once had) rules","references":"pg_class.relhasrules","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hastriggers","type":"boolean","description":"True if table has (or once had) triggers","references":"pg_class.relhastriggers","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/view-pg-tables.html","source_path":"sources/postgresql/9.2/view-pg-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11057,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The view pg_tables provides access to useful information about each table in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tableowner","type":"name","description":"Name of table's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing table (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if table has (or recently had) any indexes","references":"pg_class.relhasindex","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasrules","type":"boolean","description":"True if table has (or once had) rules","references":"pg_class.relhasrules","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hastriggers","type":"boolean","description":"True if table has (or once had) triggers","references":"pg_class.relhastriggers","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-tables.html","source_path":"sources/postgresql/9.3/view-pg-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11074,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The view pg_tables provides access to useful information about each table in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tableowner","type":"name","description":"Name of table's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing table (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if table has (or recently had) any indexes","references":"pg_class.relhasindex","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasrules","type":"boolean","description":"True if table has (or once had) rules","references":"pg_class.relhasrules","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hastriggers","type":"boolean","description":"True if table has (or once had) triggers","references":"pg_class.relhastriggers","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-tables.html","source_path":"sources/postgresql/9.4/view-pg-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11171,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The view pg_tables provides access to useful information about each table in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tableowner","type":"name","description":"Name of table's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing table (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if table has (or recently had) any indexes","references":"pg_class.relhasindex","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasrules","type":"boolean","description":"True if table has (or once had) rules","references":"pg_class.relhasrules","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hastriggers","type":"boolean","description":"True if table has (or once had) triggers","references":"pg_class.relhastriggers","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rowsecurity","type":"boolean","description":"True if row security is enabled on the table","references":"pg_class.relrowsecurity","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-tables.html","source_path":"sources/postgresql/9.5/view-pg-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11657,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The view pg_tables provides access to useful information about each table in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tableowner","type":"name","description":"Name of table's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing table (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if table has (or recently had) any indexes","references":"pg_class.relhasindex","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasrules","type":"boolean","description":"True if table has (or once had) rules","references":"pg_class.relhasrules","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hastriggers","type":"boolean","description":"True if table has (or once had) triggers","references":"pg_class.relhastriggers","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rowsecurity","type":"boolean","description":"True if row security is enabled on the table","references":"pg_class.relrowsecurity","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-tables.html","source_path":"sources/postgresql/9.6/view-pg-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11679,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The view pg_tables provides access to useful information about each table in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tableowner","type":"name","description":"Name of table's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing table (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if table has (or recently had) any indexes","references":"pg_class.relhasindex","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasrules","type":"boolean","description":"True if table has (or once had) rules","references":"pg_class.relhasrules","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hastriggers","type":"boolean","description":"True if table has (or once had) triggers","references":"pg_class.relhastriggers","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rowsecurity","type":"boolean","description":"True if row security is enabled on the table","references":"pg_class.relrowsecurity","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-tables.html","source_path":"sources/postgresql/10/view-pg-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11553,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_tables provides access to useful information about each table in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tableowner","type":"name","description":"Name of table's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing table (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if table has (or recently had) any indexes","references":"pg_class.relhasindex","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasrules","type":"boolean","description":"True if table has (or once had) rules","references":"pg_class.relhasrules","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hastriggers","type":"boolean","description":"True if table has (or once had) triggers","references":"pg_class.relhastriggers","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rowsecurity","type":"boolean","description":"True if row security is enabled on the table","references":"pg_class.relrowsecurity","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-tables.html","source_path":"sources/postgresql/11/view-pg-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11621,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_tables provides access to useful information about each table in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tableowner","type":"name","description":"Name of table's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing table (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if table has (or recently had) any indexes","references":"pg_class.relhasindex","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasrules","type":"boolean","description":"True if table has (or once had) rules","references":"pg_class.relhasrules","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hastriggers","type":"boolean","description":"True if table has (or once had) triggers","references":"pg_class.relhastriggers","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rowsecurity","type":"boolean","description":"True if row security is enabled on the table","references":"pg_class.relrowsecurity","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-tables.html","source_path":"sources/postgresql/12/view-pg-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12115,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_tables provides access to useful information about each table in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tableowner","type":"name","description":"Name of table's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing table (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if table has (or recently had) any indexes","references":"pg_class.relhasindex","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasrules","type":"boolean","description":"True if table has (or once had) rules","references":"pg_class.relhasrules","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hastriggers","type":"boolean","description":"True if table has (or once had) triggers","references":"pg_class.relhastriggers","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rowsecurity","type":"boolean","description":"True if row security is enabled on the table","references":"pg_class.relrowsecurity","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-tables.html","source_path":"sources/postgresql/13/view-pg-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12113,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_tables provides access to useful information about each table in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tableowner","type":"name","description":"Name of table's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing table (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if table has (or recently had) any indexes","references":"pg_class.relhasindex","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasrules","type":"boolean","description":"True if table has (or once had) rules","references":"pg_class.relhasrules","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hastriggers","type":"boolean","description":"True if table has (or once had) triggers","references":"pg_class.relhastriggers","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rowsecurity","type":"boolean","description":"True if row security is enabled on the table","references":"pg_class.relrowsecurity","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-tables.html","source_path":"sources/postgresql/14/view-pg-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12250,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_tables provides access to useful information about each table in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tableowner","type":"name","description":"Name of table's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing table (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if table has (or recently had) any indexes","references":"pg_class.relhasindex","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasrules","type":"boolean","description":"True if table has (or once had) rules","references":"pg_class.relhasrules","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hastriggers","type":"boolean","description":"True if table has (or once had) triggers","references":"pg_class.relhastriggers","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rowsecurity","type":"boolean","description":"True if row security is enabled on the table","references":"pg_class.relrowsecurity","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-tables.html","source_path":"sources/postgresql/15/view-pg-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12033,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_tables provides access to useful information about each table in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tableowner","type":"name","description":"Name of table's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing table (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if table has (or recently had) any indexes","references":"pg_class.relhasindex","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasrules","type":"boolean","description":"True if table has (or once had) rules","references":"pg_class.relhasrules","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hastriggers","type":"boolean","description":"True if table has (or once had) triggers","references":"pg_class.relhastriggers","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rowsecurity","type":"boolean","description":"True if row security is enabled on the table","references":"pg_class.relrowsecurity","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-tables.html","source_path":"sources/postgresql/16/view-pg-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12033,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_tables provides access to useful information about each table in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tableowner","type":"name","description":"Name of table's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing table (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if table has (or recently had) any indexes","references":"pg_class.relhasindex","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasrules","type":"boolean","description":"True if table has (or once had) rules","references":"pg_class.relhasrules","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hastriggers","type":"boolean","description":"True if table has (or once had) triggers","references":"pg_class.relhastriggers","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rowsecurity","type":"boolean","description":"True if row security is enabled on the table","references":"pg_class.relrowsecurity","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-tables.html","source_path":"sources/postgresql/17/view-pg-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12033,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_tables provides access to useful information about each table in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tableowner","type":"name","description":"Name of table's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing table (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if table has (or recently had) any indexes","references":"pg_class.relhasindex","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasrules","type":"boolean","description":"True if table has (or once had) rules","references":"pg_class.relhasrules","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hastriggers","type":"boolean","description":"True if table has (or once had) triggers","references":"pg_class.relhastriggers","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rowsecurity","type":"boolean","description":"True if row security is enabled on the table","references":"pg_class.relrowsecurity","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-tables.html","source_path":"sources/postgresql/18/view-pg-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12033,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_tables provides access to useful information about each table in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing table","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablename","type":"name","description":"Name of table","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tableowner","type":"name","description":"Name of table's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tablespace","type":"name","description":"Name of tablespace containing table (null if default for database)","references":"pg_tablespace.spcname","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasindexes","type":"boolean","description":"True if table has (or recently had) any indexes","references":"pg_class.relhasindex","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hasrules","type":"boolean","description":"True if table has (or once had) rules","references":"pg_class.relhasrules","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"hastriggers","type":"boolean","description":"True if table has (or once had) triggers","references":"pg_class.relhastriggers","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"rowsecurity","type":"boolean","description":"True if row security is enabled on the table","references":"pg_class.relrowsecurity","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-tables.html","source_path":"sources/postgresql/19/view-pg-tables.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12033,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.4","to":"9.5","status":"changed","added_columns":[{"name":"rowsecurity","type":"boolean","description":"True if row security is enabled on the table","references":"pg_class.relrowsecurity","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_tablespace","kind":"catalog","summary":"tablespaces within this database cluster","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_tablespace stores information about the available tablespaces. Tables can be placed in particular tablespaces to aid administration of disk layout.\n\nUnlike most system catalogs, pg_tablespace is shared across all databases of a cluster: there is only one copy of pg_tablespace per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_tablespace.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcname","type":"name","description":"Tablespace name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcowner","type":"oid","description":"Owner of the tablespace, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spclocation","type":"text","description":"Location (directory path) of the tablespace","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spcacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"spcoptions","type":"text[]","description":"Tablespace-level options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-tablespace.html","source_path":"sources/postgresql/9.0/catalog-pg-tablespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_tablespace.h","definition_source_path":"sources/postgresql/9.0/source/pg_tablespace.h","source_column_count":6,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1213,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_tablespace stores information about the available tablespaces. Tables can be placed in particular tablespaces to aid administration of disk layout.\n\nUnlike most system catalogs, pg_tablespace is shared across all databases of a cluster: there is only one copy of pg_tablespace per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_tablespace.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcname","type":"name","description":"Tablespace name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcowner","type":"oid","description":"Owner of the tablespace, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spclocation","type":"text","description":"Location (directory path) of the tablespace","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"spcacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"spcoptions","type":"text[]","description":"Tablespace-level options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-tablespace.html","source_path":"sources/postgresql/9.1/catalog-pg-tablespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_tablespace.h","definition_source_path":"sources/postgresql/9.1/source/pg_tablespace.h","source_column_count":6,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1213,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_tablespace stores information about the available tablespaces. Tables can be placed in particular tablespaces to aid administration of disk layout.\n\nUnlike most system catalogs, pg_tablespace is shared across all databases of a cluster: there is only one copy of pg_tablespace per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_tablespace.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcname","type":"name","description":"Tablespace name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcowner","type":"oid","description":"Owner of the tablespace, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"spcoptions","type":"text[]","description":"Tablespace-level options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-tablespace.html","source_path":"sources/postgresql/9.2/catalog-pg-tablespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_tablespace.h","definition_source_path":"sources/postgresql/9.2/source/pg_tablespace.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1213,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_tablespace stores information about the available tablespaces. Tables can be placed in particular tablespaces to aid administration of disk layout.\n\nUnlike most system catalogs, pg_tablespace is shared across all databases of a cluster: there is only one copy of pg_tablespace per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcname","type":"name","description":"Tablespace name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcowner","type":"oid","description":"Owner of the tablespace, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"spcoptions","type":"text[]","description":"Tablespace-level options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-tablespace.html","source_path":"sources/postgresql/9.3/catalog-pg-tablespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_tablespace.h","definition_source_path":"sources/postgresql/9.3/source/pg_tablespace.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":1213,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_tablespace stores information about the available tablespaces. Tables can be placed in particular tablespaces to aid administration of disk layout.\n\nUnlike most system catalogs, pg_tablespace is shared across all databases of a cluster: there is only one copy of pg_tablespace per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcname","type":"name","description":"Tablespace name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcowner","type":"oid","description":"Owner of the tablespace, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"spcoptions","type":"text[]","description":"Tablespace-level options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-tablespace.html","source_path":"sources/postgresql/9.4/catalog-pg-tablespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_tablespace.h","definition_source_path":"sources/postgresql/9.4/source/pg_tablespace.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":1213,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_tablespace stores information about the available tablespaces. Tables can be placed in particular tablespaces to aid administration of disk layout.\n\nUnlike most system catalogs, pg_tablespace is shared across all databases of a cluster: there is only one copy of pg_tablespace per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcname","type":"name","description":"Tablespace name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcowner","type":"oid","description":"Owner of the tablespace, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"spcoptions","type":"text[]","description":"Tablespace-level options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-tablespace.html","source_path":"sources/postgresql/9.5/catalog-pg-tablespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_tablespace.h","definition_source_path":"sources/postgresql/9.5/source/pg_tablespace.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":1213,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_tablespace stores information about the available tablespaces. Tables can be placed in particular tablespaces to aid administration of disk layout.\n\nUnlike most system catalogs, pg_tablespace is shared across all databases of a cluster: there is only one copy of pg_tablespace per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcname","type":"name","description":"Tablespace name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcowner","type":"oid","description":"Owner of the tablespace, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"spcoptions","type":"text[]","description":"Tablespace-level options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-tablespace.html","source_path":"sources/postgresql/9.6/catalog-pg-tablespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_tablespace.h","definition_source_path":"sources/postgresql/9.6/source/pg_tablespace.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":1213,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_tablespace stores information about the available tablespaces. Tables can be placed in particular tablespaces to aid administration of disk layout.\n\nUnlike most system catalogs, pg_tablespace is shared across all databases of a cluster: there is only one copy of pg_tablespace per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcname","type":"name","description":"Tablespace name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcowner","type":"oid","description":"Owner of the tablespace, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"spcoptions","type":"text[]","description":"Tablespace-level options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-tablespace.html","source_path":"sources/postgresql/10/catalog-pg-tablespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_tablespace.h","definition_source_path":"sources/postgresql/10/source/pg_tablespace.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":1213,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_tablespace stores information about the available tablespaces. Tables can be placed in particular tablespaces to aid administration of disk layout.\n\nUnlike most system catalogs, pg_tablespace is shared across all databases of a cluster: there is only one copy of pg_tablespace per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcname","type":"name","description":"Tablespace name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcowner","type":"oid","description":"Owner of the tablespace, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"spcoptions","type":"text[]","description":"Tablespace-level options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-tablespace.html","source_path":"sources/postgresql/11/catalog-pg-tablespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_tablespace.h","definition_source_path":"sources/postgresql/11/source/pg_tablespace.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":1213,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_tablespace stores information about the available tablespaces. Tables can be placed in particular tablespaces to aid administration of disk layout.\n\nUnlike most system catalogs, pg_tablespace is shared across all databases of a cluster: there is only one copy of pg_tablespace per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcname","type":"name","description":"Tablespace name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcowner","type":"oid","description":"Owner of the tablespace, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"spcoptions","type":"text[]","description":"Tablespace-level options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-tablespace.html","source_path":"sources/postgresql/12/catalog-pg-tablespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_tablespace.h","definition_source_path":"sources/postgresql/12/source/pg_tablespace.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":1213,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_tablespace stores information about the available tablespaces. Tables can be placed in particular tablespaces to aid administration of disk layout.\n\nUnlike most system catalogs, pg_tablespace is shared across all databases of a cluster: there is only one copy of pg_tablespace per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcname","type":"name","description":"Tablespace name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcowner","type":"oid","description":"Owner of the tablespace, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"spcoptions","type":"text[]","description":"Tablespace-level options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-tablespace.html","source_path":"sources/postgresql/13/catalog-pg-tablespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_tablespace.h","definition_source_path":"sources/postgresql/13/source/pg_tablespace.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":1213,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_tablespace stores information about the available tablespaces. Tables can be placed in particular tablespaces to aid administration of disk layout.\n\nUnlike most system catalogs, pg_tablespace is shared across all databases of a cluster: there is only one copy of pg_tablespace per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcname","type":"name","description":"Tablespace name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcowner","type":"oid","description":"Owner of the tablespace, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"spcoptions","type":"text[]","description":"Tablespace-level options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-tablespace.html","source_path":"sources/postgresql/14/catalog-pg-tablespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_tablespace.h","definition_source_path":"sources/postgresql/14/source/pg_tablespace.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":1213,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_tablespace stores information about the available tablespaces. Tables can be placed in particular tablespaces to aid administration of disk layout.\n\nUnlike most system catalogs, pg_tablespace is shared across all databases of a cluster: there is only one copy of pg_tablespace per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcname","type":"name","description":"Tablespace name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcowner","type":"oid","description":"Owner of the tablespace, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"spcoptions","type":"text[]","description":"Tablespace-level options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-tablespace.html","source_path":"sources/postgresql/15/catalog-pg-tablespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_tablespace.h","definition_source_path":"sources/postgresql/15/source/pg_tablespace.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":1213,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_tablespace stores information about the available tablespaces. Tables can be placed in particular tablespaces to aid administration of disk layout.\n\nUnlike most system catalogs, pg_tablespace is shared across all databases of a cluster: there is only one copy of pg_tablespace per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcname","type":"name","description":"Tablespace name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcowner","type":"oid","description":"Owner of the tablespace, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"spcoptions","type":"text[]","description":"Tablespace-level options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-tablespace.html","source_path":"sources/postgresql/16/catalog-pg-tablespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_tablespace.h","definition_source_path":"sources/postgresql/16/source/pg_tablespace.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":1213,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_tablespace stores information about the available tablespaces. Tables can be placed in particular tablespaces to aid administration of disk layout.\n\nUnlike most system catalogs, pg_tablespace is shared across all databases of a cluster: there is only one copy of pg_tablespace per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcname","type":"name","description":"Tablespace name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcowner","type":"oid","description":"Owner of the tablespace, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcacl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"spcoptions","type":"text[]","description":"Tablespace-level options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-tablespace.html","source_path":"sources/postgresql/17/catalog-pg-tablespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_tablespace.h","definition_source_path":"sources/postgresql/17/source/pg_tablespace.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":1213,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_tablespace stores information about the available tablespaces. Tables can be placed in particular tablespaces to aid administration of disk layout.\n\nUnlike most system catalogs, pg_tablespace is shared across all databases of a cluster: there is only one copy of pg_tablespace per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcname","type":"name","description":"Tablespace name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcowner","type":"oid","description":"Owner of the tablespace, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcacl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"spcoptions","type":"text[]","description":"Tablespace-level options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-tablespace.html","source_path":"sources/postgresql/18/catalog-pg-tablespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_tablespace.h","definition_source_path":"sources/postgresql/18/source/pg_tablespace.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":1213,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_tablespace stores information about the available tablespaces. Tables can be placed in particular tablespaces to aid administration of disk layout.\n\nUnlike most system catalogs, pg_tablespace is shared across all databases of a cluster: there is only one copy of pg_tablespace per cluster, not one per database.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcname","type":"name","description":"Tablespace name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcowner","type":"oid","description":"Owner of the tablespace, usually the user who created it","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"spcacl","type":"aclitem[]","description":"Access privileges; see Section 5.9 for details","hidden":false,"type_oid":1034,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false},{"name":"spcoptions","type":"text[]","description":"Tablespace-level options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":5,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-tablespace.html","source_path":"sources/postgresql/19/catalog-pg-tablespace.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_tablespace.h","definition_source_path":"sources/postgresql/19/source/pg_tablespace.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":1213,"shared":true,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[{"name":"spclocation","type":"text","description":"Location (directory path) of the tablespace","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"spcoptions","from":"Tablespace-level options, as \"keyword=value\" strings","to":"Tablespace-level options, as “keyword=value” strings"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"},{"name":"spcacl","from":"Access privileges; see GRANT and REVOKE for details","to":"Access privileges; see Section 5.7 for details"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"spcacl","from":"Access privileges; see Section 5.7 for details","to":"Access privileges; see Section 5.8 for details"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"spcacl","from":"Access privileges; see Section 5.8 for details","to":"Access privileges; see Section 5.9 for details"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_timezone_abbrevs","kind":"view","summary":"The view pg_timezone_abbrevs provides a list of time zone abbreviations that are currently recognized by the datetime input routines. The contents of this view change when the TimeZone or timezone_abbreviations run-time parameters are modified.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The view pg_timezone_abbrevs provides a list of time zone abbreviations that are currently recognized by the datetime input routines. The contents of this view change when the timezone_abbreviations run-time parameter is modified.","columns":[{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if this is a daylight-savings abbreviation","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/view-pg-timezone-abbrevs.html","source_path":"sources/postgresql/9.0/view-pg-timezone-abbrevs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11003,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The view pg_timezone_abbrevs provides a list of time zone abbreviations that are currently recognized by the datetime input routines. The contents of this view change when the timezone_abbreviations run-time parameter is modified.","columns":[{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if this is a daylight-savings abbreviation","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/view-pg-timezone-abbrevs.html","source_path":"sources/postgresql/9.1/view-pg-timezone-abbrevs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11028,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The view pg_timezone_abbrevs provides a list of time zone abbreviations that are currently recognized by the datetime input routines. The contents of this view change when the timezone_abbreviations run-time parameter is modified.","columns":[{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if this is a daylight-savings abbreviation","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/view-pg-timezone-abbrevs.html","source_path":"sources/postgresql/9.2/view-pg-timezone-abbrevs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11097,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The view pg_timezone_abbrevs provides a list of time zone abbreviations that are currently recognized by the datetime input routines. The contents of this view change when the timezone_abbreviations run-time parameter is modified.","columns":[{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if this is a daylight-savings abbreviation","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-timezone-abbrevs.html","source_path":"sources/postgresql/9.3/view-pg-timezone-abbrevs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11118,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The view pg_timezone_abbrevs provides a list of time zone abbreviations that are currently recognized by the datetime input routines. The contents of this view change when the timezone_abbreviations run-time parameter is modified.","columns":[{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if this is a daylight-savings abbreviation","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-timezone-abbrevs.html","source_path":"sources/postgresql/9.4/view-pg-timezone-abbrevs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11215,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The view pg_timezone_abbrevs provides a list of time zone abbreviations that are currently recognized by the datetime input routines. The contents of this view change when the timezone_abbreviations run-time parameter is modified.","columns":[{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if this is a daylight-savings abbreviation","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-timezone-abbrevs.html","source_path":"sources/postgresql/9.5/view-pg-timezone-abbrevs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11704,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The view pg_timezone_abbrevs provides a list of time zone abbreviations that are currently recognized by the datetime input routines. The contents of this view change when the timezone_abbreviations run-time parameter is modified.","columns":[{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if this is a daylight-savings abbreviation","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-timezone-abbrevs.html","source_path":"sources/postgresql/9.6/view-pg-timezone-abbrevs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11726,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The view pg_timezone_abbrevs provides a list of time zone abbreviations that are currently recognized by the datetime input routines. The contents of this view change when the timezone_abbreviations run-time parameter is modified.","columns":[{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if this is a daylight-savings abbreviation","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-timezone-abbrevs.html","source_path":"sources/postgresql/10/view-pg-timezone-abbrevs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11611,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_timezone_abbrevs provides a list of time zone abbreviations that are currently recognized by the datetime input routines. The contents of this view change when the timezone_abbreviations run-time parameter is modified.","columns":[{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if this is a daylight-savings abbreviation","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-timezone-abbrevs.html","source_path":"sources/postgresql/11/view-pg-timezone-abbrevs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11679,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_timezone_abbrevs provides a list of time zone abbreviations that are currently recognized by the datetime input routines. The contents of this view change when the timezone_abbreviations run-time parameter is modified.","columns":[{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if this is a daylight-savings abbreviation","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-timezone-abbrevs.html","source_path":"sources/postgresql/12/view-pg-timezone-abbrevs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12177,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_timezone_abbrevs provides a list of time zone abbreviations that are currently recognized by the datetime input routines. The contents of this view change when the timezone_abbreviations run-time parameter is modified.","columns":[{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if this is a daylight-savings abbreviation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-timezone-abbrevs.html","source_path":"sources/postgresql/13/view-pg-timezone-abbrevs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12176,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_timezone_abbrevs provides a list of time zone abbreviations that are currently recognized by the datetime input routines. The contents of this view change when the timezone_abbreviations run-time parameter is modified.","columns":[{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if this is a daylight-savings abbreviation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-timezone-abbrevs.html","source_path":"sources/postgresql/14/view-pg-timezone-abbrevs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12335,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_timezone_abbrevs provides a list of time zone abbreviations that are currently recognized by the datetime input routines. The contents of this view change when the timezone_abbreviations run-time parameter is modified.","columns":[{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if this is a daylight-savings abbreviation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-timezone-abbrevs.html","source_path":"sources/postgresql/15/view-pg-timezone-abbrevs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12122,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_timezone_abbrevs provides a list of time zone abbreviations that are currently recognized by the datetime input routines. The contents of this view change when the timezone_abbreviations run-time parameter is modified.","columns":[{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if this is a daylight-savings abbreviation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-timezone-abbrevs.html","source_path":"sources/postgresql/16/view-pg-timezone-abbrevs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12122,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_timezone_abbrevs provides a list of time zone abbreviations that are currently recognized by the datetime input routines. The contents of this view change when the timezone_abbreviations run-time parameter is modified.","columns":[{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if this is a daylight-savings abbreviation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-timezone-abbrevs.html","source_path":"sources/postgresql/17/view-pg-timezone-abbrevs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12122,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_timezone_abbrevs provides a list of time zone abbreviations that are currently recognized by the datetime input routines. The contents of this view change when the TimeZone or timezone_abbreviations run-time parameters are modified.","columns":[{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if this is a daylight-savings abbreviation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-timezone-abbrevs.html","source_path":"sources/postgresql/18/view-pg-timezone-abbrevs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12122,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_timezone_abbrevs provides a list of time zone abbreviations that are currently recognized by the datetime input routines. The contents of this view change when the TimeZone or timezone_abbreviations run-time parameters are modified.","columns":[{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if this is a daylight-savings abbreviation","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-timezone-abbrevs.html","source_path":"sources/postgresql/19/view-pg-timezone-abbrevs.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12127,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"17","to":"18","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_timezone_names","kind":"view","summary":"The view pg_timezone_names provides a list of time zone names that are recognized by SET TIMEZONE, along with their associated abbreviations, UTC offsets, and daylight-savings status. (Technically, PostgreSQL does not use UTC because leap seconds are not handled.) Unlike the abbreviations shown in pg_timezone_abbrevs, many of these names imply a set of daylight-savings transition date rules. Therefore, the associated information changes across local DST boundaries. The displayed information is computed based on the current value of CURRENT_TIMESTAMP.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The view pg_timezone_names provides a list of time zone names that are recognized by SET TIMEZONE, along with their associated abbreviations, UTC offsets, and daylight-savings status. Unlike the abbreviations shown in pg_timezone_abbrevs, many of these names imply a set of daylight-savings transition date rules. Therefore, the associated information changes across local DST boundaries. The displayed information is computed based on the current value of CURRENT_TIMESTAMP.","columns":[{"name":"name","type":"text","description":"Time zone name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if currently observing daylight savings","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/view-pg-timezone-names.html","source_path":"sources/postgresql/9.0/view-pg-timezone-names.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11006,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The view pg_timezone_names provides a list of time zone names that are recognized by SET TIMEZONE, along with their associated abbreviations, UTC offsets, and daylight-savings status. (Technically, PostgreSQL uses UT1 rather than UTC because leap seconds are not handled.) Unlike the abbreviations shown in pg_timezone_abbrevs, many of these names imply a set of daylight-savings transition date rules. Therefore, the associated information changes across local DST boundaries. The displayed information is computed based on the current value of CURRENT_TIMESTAMP.","columns":[{"name":"name","type":"text","description":"Time zone name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if currently observing daylight savings","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/view-pg-timezone-names.html","source_path":"sources/postgresql/9.1/view-pg-timezone-names.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11031,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The view pg_timezone_names provides a list of time zone names that are recognized by SET TIMEZONE, along with their associated abbreviations, UTC offsets, and daylight-savings status. (Technically, PostgreSQL uses UT1 rather than UTC because leap seconds are not handled.) Unlike the abbreviations shown in pg_timezone_abbrevs, many of these names imply a set of daylight-savings transition date rules. Therefore, the associated information changes across local DST boundaries. The displayed information is computed based on the current value of CURRENT_TIMESTAMP.","columns":[{"name":"name","type":"text","description":"Time zone name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if currently observing daylight savings","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/view-pg-timezone-names.html","source_path":"sources/postgresql/9.2/view-pg-timezone-names.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11100,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The view pg_timezone_names provides a list of time zone names that are recognized by SET TIMEZONE, along with their associated abbreviations, UTC offsets, and daylight-savings status. (Technically, PostgreSQL uses UT1 rather than UTC because leap seconds are not handled.) Unlike the abbreviations shown in pg_timezone_abbrevs, many of these names imply a set of daylight-savings transition date rules. Therefore, the associated information changes across local DST boundaries. The displayed information is computed based on the current value of CURRENT_TIMESTAMP.","columns":[{"name":"name","type":"text","description":"Time zone name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if currently observing daylight savings","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-timezone-names.html","source_path":"sources/postgresql/9.3/view-pg-timezone-names.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11121,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The view pg_timezone_names provides a list of time zone names that are recognized by SET TIMEZONE, along with their associated abbreviations, UTC offsets, and daylight-savings status. (Technically, PostgreSQL uses UT1 rather than UTC because leap seconds are not handled.) Unlike the abbreviations shown in pg_timezone_abbrevs, many of these names imply a set of daylight-savings transition date rules. Therefore, the associated information changes across local DST boundaries. The displayed information is computed based on the current value of CURRENT_TIMESTAMP.","columns":[{"name":"name","type":"text","description":"Time zone name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if currently observing daylight savings","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-timezone-names.html","source_path":"sources/postgresql/9.4/view-pg-timezone-names.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11218,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The view pg_timezone_names provides a list of time zone names that are recognized by SET TIMEZONE, along with their associated abbreviations, UTC offsets, and daylight-savings status. (Technically, PostgreSQL uses UT1 rather than UTC because leap seconds are not handled.) Unlike the abbreviations shown in pg_timezone_abbrevs, many of these names imply a set of daylight-savings transition date rules. Therefore, the associated information changes across local DST boundaries. The displayed information is computed based on the current value of CURRENT_TIMESTAMP.","columns":[{"name":"name","type":"text","description":"Time zone name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if currently observing daylight savings","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-timezone-names.html","source_path":"sources/postgresql/9.5/view-pg-timezone-names.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11707,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The view pg_timezone_names provides a list of time zone names that are recognized by SET TIMEZONE, along with their associated abbreviations, UTC offsets, and daylight-savings status. (Technically, PostgreSQL does not use UTC because leap seconds are not handled.) Unlike the abbreviations shown in pg_timezone_abbrevs, many of these names imply a set of daylight-savings transition date rules. Therefore, the associated information changes across local DST boundaries. The displayed information is computed based on the current value of CURRENT_TIMESTAMP.","columns":[{"name":"name","type":"text","description":"Time zone name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if currently observing daylight savings","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-timezone-names.html","source_path":"sources/postgresql/9.6/view-pg-timezone-names.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11729,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The view pg_timezone_names provides a list of time zone names that are recognized by SET TIMEZONE, along with their associated abbreviations, UTC offsets, and daylight-savings status. (Technically, PostgreSQL does not use UTC because leap seconds are not handled.) Unlike the abbreviations shown in pg_timezone_abbrevs, many of these names imply a set of daylight-savings transition date rules. Therefore, the associated information changes across local DST boundaries. The displayed information is computed based on the current value of CURRENT_TIMESTAMP.","columns":[{"name":"name","type":"text","description":"Time zone name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if currently observing daylight savings","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-timezone-names.html","source_path":"sources/postgresql/10/view-pg-timezone-names.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11614,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_timezone_names provides a list of time zone names that are recognized by SET TIMEZONE, along with their associated abbreviations, UTC offsets, and daylight-savings status. (Technically, PostgreSQL does not use UTC because leap seconds are not handled.) Unlike the abbreviations shown in pg_timezone_abbrevs, many of these names imply a set of daylight-savings transition date rules. Therefore, the associated information changes across local DST boundaries. The displayed information is computed based on the current value of CURRENT_TIMESTAMP.","columns":[{"name":"name","type":"text","description":"Time zone name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if currently observing daylight savings","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-timezone-names.html","source_path":"sources/postgresql/11/view-pg-timezone-names.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11682,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_timezone_names provides a list of time zone names that are recognized by SET TIMEZONE, along with their associated abbreviations, UTC offsets, and daylight-savings status. (Technically, PostgreSQL does not use UTC because leap seconds are not handled.) Unlike the abbreviations shown in pg_timezone_abbrevs, many of these names imply a set of daylight-savings transition date rules. Therefore, the associated information changes across local DST boundaries. The displayed information is computed based on the current value of CURRENT_TIMESTAMP.","columns":[{"name":"name","type":"text","description":"Time zone name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if currently observing daylight savings","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-timezone-names.html","source_path":"sources/postgresql/12/view-pg-timezone-names.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12180,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_timezone_names provides a list of time zone names that are recognized by SET TIMEZONE, along with their associated abbreviations, UTC offsets, and daylight-savings status. (Technically, PostgreSQL does not use UTC because leap seconds are not handled.) Unlike the abbreviations shown in pg_timezone_abbrevs, many of these names imply a set of daylight-savings transition date rules. Therefore, the associated information changes across local DST boundaries. The displayed information is computed based on the current value of CURRENT_TIMESTAMP.","columns":[{"name":"name","type":"text","description":"Time zone name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if currently observing daylight savings","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-timezone-names.html","source_path":"sources/postgresql/13/view-pg-timezone-names.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12179,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_timezone_names provides a list of time zone names that are recognized by SET TIMEZONE, along with their associated abbreviations, UTC offsets, and daylight-savings status. (Technically, PostgreSQL does not use UTC because leap seconds are not handled.) Unlike the abbreviations shown in pg_timezone_abbrevs, many of these names imply a set of daylight-savings transition date rules. Therefore, the associated information changes across local DST boundaries. The displayed information is computed based on the current value of CURRENT_TIMESTAMP.","columns":[{"name":"name","type":"text","description":"Time zone name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if currently observing daylight savings","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-timezone-names.html","source_path":"sources/postgresql/14/view-pg-timezone-names.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12339,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_timezone_names provides a list of time zone names that are recognized by SET TIMEZONE, along with their associated abbreviations, UTC offsets, and daylight-savings status. (Technically, PostgreSQL does not use UTC because leap seconds are not handled.) Unlike the abbreviations shown in pg_timezone_abbrevs, many of these names imply a set of daylight-savings transition date rules. Therefore, the associated information changes across local DST boundaries. The displayed information is computed based on the current value of CURRENT_TIMESTAMP.","columns":[{"name":"name","type":"text","description":"Time zone name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if currently observing daylight savings","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-timezone-names.html","source_path":"sources/postgresql/15/view-pg-timezone-names.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12126,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_timezone_names provides a list of time zone names that are recognized by SET TIMEZONE, along with their associated abbreviations, UTC offsets, and daylight-savings status. (Technically, PostgreSQL does not use UTC because leap seconds are not handled.) Unlike the abbreviations shown in pg_timezone_abbrevs, many of these names imply a set of daylight-savings transition date rules. Therefore, the associated information changes across local DST boundaries. The displayed information is computed based on the current value of CURRENT_TIMESTAMP.","columns":[{"name":"name","type":"text","description":"Time zone name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if currently observing daylight savings","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-timezone-names.html","source_path":"sources/postgresql/16/view-pg-timezone-names.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12126,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_timezone_names provides a list of time zone names that are recognized by SET TIMEZONE, along with their associated abbreviations, UTC offsets, and daylight-savings status. (Technically, PostgreSQL does not use UTC because leap seconds are not handled.) Unlike the abbreviations shown in pg_timezone_abbrevs, many of these names imply a set of daylight-savings transition date rules. Therefore, the associated information changes across local DST boundaries. The displayed information is computed based on the current value of CURRENT_TIMESTAMP.","columns":[{"name":"name","type":"text","description":"Time zone name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if currently observing daylight savings","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-timezone-names.html","source_path":"sources/postgresql/17/view-pg-timezone-names.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12126,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_timezone_names provides a list of time zone names that are recognized by SET TIMEZONE, along with their associated abbreviations, UTC offsets, and daylight-savings status. (Technically, PostgreSQL does not use UTC because leap seconds are not handled.) Unlike the abbreviations shown in pg_timezone_abbrevs, many of these names imply a set of daylight-savings transition date rules. Therefore, the associated information changes across local DST boundaries. The displayed information is computed based on the current value of CURRENT_TIMESTAMP.","columns":[{"name":"name","type":"text","description":"Time zone name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if currently observing daylight savings","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-timezone-names.html","source_path":"sources/postgresql/18/view-pg-timezone-names.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12126,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_timezone_names provides a list of time zone names that are recognized by SET TIMEZONE, along with their associated abbreviations, UTC offsets, and daylight-savings status. (Technically, PostgreSQL does not use UTC because leap seconds are not handled.) Unlike the abbreviations shown in pg_timezone_abbrevs, many of these names imply a set of daylight-savings transition date rules. Therefore, the associated information changes across local DST boundaries. The displayed information is computed based on the current value of CURRENT_TIMESTAMP.","columns":[{"name":"name","type":"text","description":"Time zone name","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"abbrev","type":"text","description":"Time zone abbreviation","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"utc_offset","type":"interval","description":"Offset from UTC (positive means east of Greenwich)","hidden":false,"type_oid":1186,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"is_dst","type":"boolean","description":"True if currently observing daylight savings","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-timezone-names.html","source_path":"sources/postgresql/19/view-pg-timezone-names.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12131,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":false}]},{"name":"pg_transform","kind":"catalog","summary":"transforms (data type to procedural language conversions)","first_version":"9.5","last_version":"19","versions":{"9.5":{"description":"The catalog pg_transform stores information about transforms, which are a mechanism to adapt data types to procedural languages. See CREATE TRANSFORM for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_transform.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftype","type":"oid","description":"OID of the data type this transform is for","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trflang","type":"oid","description":"OID of the language this transform is for","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trffromsql","type":"regproc","description":"The OID of the function to use when converting the data type for input to the procedural language (e.g., function parameters). Zero is stored if this operation is not supported.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftosql","type":"regproc","description":"The OID of the function to use when converting output from the procedural language (e.g., return values) to the data type. Zero is stored if this operation is not supported.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-transform.html","source_path":"sources/postgresql/9.5/catalog-pg-transform.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_transform.h","definition_source_path":"sources/postgresql/9.5/source/pg_transform.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3576,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_transform stores information about transforms, which are a mechanism to adapt data types to procedural languages. See CREATE TRANSFORM for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_transform.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftype","type":"oid","description":"OID of the data type this transform is for","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trflang","type":"oid","description":"OID of the language this transform is for","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trffromsql","type":"regproc","description":"The OID of the function to use when converting the data type for input to the procedural language (e.g., function parameters). Zero is stored if this operation is not supported.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftosql","type":"regproc","description":"The OID of the function to use when converting output from the procedural language (e.g., return values) to the data type. Zero is stored if this operation is not supported.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-transform.html","source_path":"sources/postgresql/9.6/catalog-pg-transform.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_transform.h","definition_source_path":"sources/postgresql/9.6/source/pg_transform.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3576,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_transform stores information about transforms, which are a mechanism to adapt data types to procedural languages. See CREATE TRANSFORM for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_transform.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftype","type":"oid","description":"OID of the data type this transform is for","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trflang","type":"oid","description":"OID of the language this transform is for","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trffromsql","type":"regproc","description":"The OID of the function to use when converting the data type for input to the procedural language (e.g., function parameters). Zero is stored if this operation is not supported.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftosql","type":"regproc","description":"The OID of the function to use when converting output from the procedural language (e.g., return values) to the data type. Zero is stored if this operation is not supported.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-transform.html","source_path":"sources/postgresql/10/catalog-pg-transform.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_transform.h","definition_source_path":"sources/postgresql/10/source/pg_transform.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3576,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_transform stores information about transforms, which are a mechanism to adapt data types to procedural languages. See CREATE TRANSFORM for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_transform.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftype","type":"oid","description":"OID of the data type this transform is for","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trflang","type":"oid","description":"OID of the language this transform is for","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trffromsql","type":"regproc","description":"The OID of the function to use when converting the data type for input to the procedural language (e.g., function parameters). Zero is stored if this operation is not supported.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftosql","type":"regproc","description":"The OID of the function to use when converting output from the procedural language (e.g., return values) to the data type. Zero is stored if this operation is not supported.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-transform.html","source_path":"sources/postgresql/11/catalog-pg-transform.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_transform.h","definition_source_path":"sources/postgresql/11/source/pg_transform.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3576,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_transform stores information about transforms, which are a mechanism to adapt data types to procedural languages. See CREATE TRANSFORM for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier.","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_transform.h","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftype","type":"oid","description":"OID of the data type this transform is for","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trflang","type":"oid","description":"OID of the language this transform is for","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trffromsql","type":"regproc","description":"The OID of the function to use when converting the data type for input to the procedural language (e.g., function parameters). Zero is stored if this operation is not supported.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftosql","type":"regproc","description":"The OID of the function to use when converting output from the procedural language (e.g., return values) to the data type. Zero is stored if this operation is not supported.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-transform.html","source_path":"sources/postgresql/12/catalog-pg-transform.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_transform.h","definition_source_path":"sources/postgresql/12/source/pg_transform.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3576,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_transform stores information about transforms, which are a mechanism to adapt data types to procedural languages. See CREATE TRANSFORM for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftype","type":"oid","description":"OID of the data type this transform is for","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trflang","type":"oid","description":"OID of the language this transform is for","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trffromsql","type":"regproc","description":"The OID of the function to use when converting the data type for input to the procedural language (e.g., function parameters). Zero is stored if this operation is not supported.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftosql","type":"regproc","description":"The OID of the function to use when converting output from the procedural language (e.g., return values) to the data type. Zero is stored if this operation is not supported.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-transform.html","source_path":"sources/postgresql/13/catalog-pg-transform.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_transform.h","definition_source_path":"sources/postgresql/13/source/pg_transform.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3576,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_transform stores information about transforms, which are a mechanism to adapt data types to procedural languages. See CREATE TRANSFORM for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftype","type":"oid","description":"OID of the data type this transform is for","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trflang","type":"oid","description":"OID of the language this transform is for","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trffromsql","type":"regproc","description":"The OID of the function to use when converting the data type for input to the procedural language (e.g., function parameters). Zero is stored if the default behavior should be used.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftosql","type":"regproc","description":"The OID of the function to use when converting output from the procedural language (e.g., return values) to the data type. Zero is stored if the default behavior should be used.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-transform.html","source_path":"sources/postgresql/14/catalog-pg-transform.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_transform.h","definition_source_path":"sources/postgresql/14/source/pg_transform.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3576,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_transform stores information about transforms, which are a mechanism to adapt data types to procedural languages. See CREATE TRANSFORM for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftype","type":"oid","description":"OID of the data type this transform is for","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trflang","type":"oid","description":"OID of the language this transform is for","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trffromsql","type":"regproc","description":"The OID of the function to use when converting the data type for input to the procedural language (e.g., function parameters). Zero is stored if the default behavior should be used.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftosql","type":"regproc","description":"The OID of the function to use when converting output from the procedural language (e.g., return values) to the data type. Zero is stored if the default behavior should be used.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-transform.html","source_path":"sources/postgresql/15/catalog-pg-transform.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_transform.h","definition_source_path":"sources/postgresql/15/source/pg_transform.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3576,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_transform stores information about transforms, which are a mechanism to adapt data types to procedural languages. See CREATE TRANSFORM for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftype","type":"oid","description":"OID of the data type this transform is for","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trflang","type":"oid","description":"OID of the language this transform is for","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trffromsql","type":"regproc","description":"The OID of the function to use when converting the data type for input to the procedural language (e.g., function parameters). Zero is stored if the default behavior should be used.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftosql","type":"regproc","description":"The OID of the function to use when converting output from the procedural language (e.g., return values) to the data type. Zero is stored if the default behavior should be used.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-transform.html","source_path":"sources/postgresql/16/catalog-pg-transform.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_transform.h","definition_source_path":"sources/postgresql/16/source/pg_transform.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3576,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_transform stores information about transforms, which are a mechanism to adapt data types to procedural languages. See CREATE TRANSFORM for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftype","type":"oid","description":"OID of the data type this transform is for","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trflang","type":"oid","description":"OID of the language this transform is for","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trffromsql","type":"regproc","description":"The OID of the function to use when converting the data type for input to the procedural language (e.g., function parameters). Zero is stored if the default behavior should be used.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftosql","type":"regproc","description":"The OID of the function to use when converting output from the procedural language (e.g., return values) to the data type. Zero is stored if the default behavior should be used.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-transform.html","source_path":"sources/postgresql/17/catalog-pg-transform.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_transform.h","definition_source_path":"sources/postgresql/17/source/pg_transform.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3576,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_transform stores information about transforms, which are a mechanism to adapt data types to procedural languages. See CREATE TRANSFORM for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftype","type":"oid","description":"OID of the data type this transform is for","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trflang","type":"oid","description":"OID of the language this transform is for","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trffromsql","type":"regproc","description":"The OID of the function to use when converting the data type for input to the procedural language (e.g., function parameters). Zero is stored if the default behavior should be used.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftosql","type":"regproc","description":"The OID of the function to use when converting output from the procedural language (e.g., return values) to the data type. Zero is stored if the default behavior should be used.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-transform.html","source_path":"sources/postgresql/18/catalog-pg-transform.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_transform.h","definition_source_path":"sources/postgresql/18/source/pg_transform.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3576,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_transform stores information about transforms, which are a mechanism to adapt data types to procedural languages. See CREATE TRANSFORM for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftype","type":"oid","description":"OID of the data type this transform is for","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trflang","type":"oid","description":"OID of the language this transform is for","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trffromsql","type":"regproc","description":"The OID of the function to use when converting the data type for input to the procedural language (e.g., function parameters). Zero is stored if the default behavior should be used.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftosql","type":"regproc","description":"The OID of the function to use when converting output from the procedural language (e.g., return values) to the data type. Zero is stored if the default behavior should be used.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-transform.html","source_path":"sources/postgresql/19/catalog-pg-transform.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_transform.h","definition_source_path":"sources/postgresql/19/source/pg_transform.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3576,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.4","to":"9.5","status":"added","added_columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_transform.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftype","type":"oid","description":"OID of the data type this transform is for","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trflang","type":"oid","description":"OID of the language this transform is for","references":"pg_language.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trffromsql","type":"regproc","description":"The OID of the function to use when converting the data type for input to the procedural language (e.g., function parameters). Zero is stored if this operation is not supported.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"trftosql","type":"regproc","description":"The OID of the function to use when converting output from the procedural language (e.g., return values) to the data type. Zero is stored if this operation is not supported.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier."}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier.","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"trffromsql","from":"The OID of the function to use when converting the data type for input to the procedural language (e.g., function parameters). Zero is stored if this operation is not supported.","to":"The OID of the function to use when converting the data type for input to the procedural language (e.g., function parameters). Zero is stored if the default behavior should be used."},{"name":"trftosql","from":"The OID of the function to use when converting output from the procedural language (e.g., return values) to the data type. Zero is stored if this operation is not supported.","to":"The OID of the function to use when converting output from the procedural language (e.g., return values) to the data type. Zero is stored if the default behavior should be used."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_trigger","kind":"catalog","summary":"triggers","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_trigger stores triggers on tables. See CREATE TRIGGER for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_trigger.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgrelid","type":"oid","description":"The table this trigger is on","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgname","type":"name","description":"Trigger name (must be unique among triggers of same table)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgtype","type":"smallint","description":"Bit mask identifying trigger conditions","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the trigger fires. O = trigger fires in \"origin\" and \"local\" modes, D = trigger is disabled, R = trigger fires in \"replica\" mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgisinternal","type":"boolean","description":"True if trigger is internally generated (usually, to enforce the constraint identified by tgconstraint)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrrelid","type":"oid","description":"The table referenced by a referential integrity constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrindid","type":"oid","description":"The index supporting a unique, primary key, or referential integrity constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstraint","type":"oid","description":"The pg_constraint entry associated with the trigger, if any","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgdeferrable","type":"boolean","description":"True if constraint trigger is deferrable","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tginitdeferred","type":"boolean","description":"True if constraint trigger is initially deferred","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgnargs","type":"smallint","description":"Number of argument strings passed to trigger function","documented_type":"int2","hidden":false,"type_oid":21,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgattr","type":"int2vector","description":"Column numbers, if trigger is column-specific; otherwise an empty array","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"tgargs","type":"bytea","description":"Argument strings to pass to trigger, each NULL-terminated","hidden":false,"type_oid":17,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgqual","type":"text","description":"Expression tree (in nodeToString() representation) for the trigger's WHEN condition, or null if none","hidden":false,"type_oid":25,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-trigger.html","source_path":"sources/postgresql/9.0/catalog-pg-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_trigger.h","definition_source_path":"sources/postgresql/9.0/source/pg_trigger.h","source_column_count":16,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2620,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_trigger stores triggers on tables and views. See CREATE TRIGGER for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_trigger.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgrelid","type":"oid","description":"The table this trigger is on","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgname","type":"name","description":"Trigger name (must be unique among triggers of same table)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgtype","type":"smallint","description":"Bit mask identifying trigger firing conditions","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the trigger fires. O = trigger fires in \"origin\" and \"local\" modes, D = trigger is disabled, R = trigger fires in \"replica\" mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgisinternal","type":"boolean","description":"True if trigger is internally generated (usually, to enforce the constraint identified by tgconstraint)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrrelid","type":"oid","description":"The table referenced by a referential integrity constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrindid","type":"oid","description":"The index supporting a unique, primary key, or referential integrity constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstraint","type":"oid","description":"The pg_constraint entry associated with the trigger, if any","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgdeferrable","type":"boolean","description":"True if constraint trigger is deferrable","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tginitdeferred","type":"boolean","description":"True if constraint trigger is initially deferred","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgnargs","type":"smallint","description":"Number of argument strings passed to trigger function","documented_type":"int2","hidden":false,"type_oid":21,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgattr","type":"int2vector","description":"Column numbers, if trigger is column-specific; otherwise an empty array","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"tgargs","type":"bytea","description":"Argument strings to pass to trigger, each NULL-terminated","hidden":false,"type_oid":17,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the trigger's WHEN condition, or null if none","hidden":false,"type_oid":194,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-trigger.html","source_path":"sources/postgresql/9.1/catalog-pg-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_trigger.h","definition_source_path":"sources/postgresql/9.1/source/pg_trigger.h","source_column_count":16,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2620,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_trigger stores triggers on tables and views. See CREATE TRIGGER for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_trigger.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgrelid","type":"oid","description":"The table this trigger is on","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgname","type":"name","description":"Trigger name (must be unique among triggers of same table)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgtype","type":"smallint","description":"Bit mask identifying trigger firing conditions","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the trigger fires. O = trigger fires in \"origin\" and \"local\" modes, D = trigger is disabled, R = trigger fires in \"replica\" mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgisinternal","type":"boolean","description":"True if trigger is internally generated (usually, to enforce the constraint identified by tgconstraint)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrrelid","type":"oid","description":"The table referenced by a referential integrity constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrindid","type":"oid","description":"The index supporting a unique, primary key, or referential integrity constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstraint","type":"oid","description":"The pg_constraint entry associated with the trigger, if any","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgdeferrable","type":"boolean","description":"True if constraint trigger is deferrable","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tginitdeferred","type":"boolean","description":"True if constraint trigger is initially deferred","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgnargs","type":"smallint","description":"Number of argument strings passed to trigger function","documented_type":"int2","hidden":false,"type_oid":21,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgattr","type":"int2vector","description":"Column numbers, if trigger is column-specific; otherwise an empty array","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"tgargs","type":"bytea","description":"Argument strings to pass to trigger, each NULL-terminated","hidden":false,"type_oid":17,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the trigger's WHEN condition, or null if none","hidden":false,"type_oid":194,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-trigger.html","source_path":"sources/postgresql/9.2/catalog-pg-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_trigger.h","definition_source_path":"sources/postgresql/9.2/source/pg_trigger.h","source_column_count":16,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":2620,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_trigger stores triggers on tables and views. See CREATE TRIGGER for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgrelid","type":"oid","description":"The table this trigger is on","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgname","type":"name","description":"Trigger name (must be unique among triggers of same table)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgtype","type":"smallint","description":"Bit mask identifying trigger firing conditions","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the trigger fires. O = trigger fires in \"origin\" and \"local\" modes, D = trigger is disabled, R = trigger fires in \"replica\" mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgisinternal","type":"boolean","description":"True if trigger is internally generated (usually, to enforce the constraint identified by tgconstraint)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrrelid","type":"oid","description":"The table referenced by a referential integrity constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrindid","type":"oid","description":"The index supporting a unique, primary key, or referential integrity constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstraint","type":"oid","description":"The pg_constraint entry associated with the trigger, if any","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgdeferrable","type":"boolean","description":"True if constraint trigger is deferrable","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tginitdeferred","type":"boolean","description":"True if constraint trigger is initially deferred","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgnargs","type":"smallint","description":"Number of argument strings passed to trigger function","documented_type":"int2","hidden":false,"type_oid":21,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgattr","type":"int2vector","description":"Column numbers, if trigger is column-specific; otherwise an empty array","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"tgargs","type":"bytea","description":"Argument strings to pass to trigger, each NULL-terminated","hidden":false,"type_oid":17,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the trigger's WHEN condition, or null if none","hidden":false,"type_oid":194,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-trigger.html","source_path":"sources/postgresql/9.3/catalog-pg-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_trigger.h","definition_source_path":"sources/postgresql/9.3/source/pg_trigger.h","source_column_count":16,"documentary_schema_source":"documentation","relation_oid":2620,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_trigger stores triggers on tables and views. See CREATE TRIGGER for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgrelid","type":"oid","description":"The table this trigger is on","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgname","type":"name","description":"Trigger name (must be unique among triggers of same table)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgtype","type":"smallint","description":"Bit mask identifying trigger firing conditions","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the trigger fires. O = trigger fires in \"origin\" and \"local\" modes, D = trigger is disabled, R = trigger fires in \"replica\" mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgisinternal","type":"boolean","description":"True if trigger is internally generated (usually, to enforce the constraint identified by tgconstraint)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrrelid","type":"oid","description":"The table referenced by a referential integrity constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrindid","type":"oid","description":"The index supporting a unique, primary key, referential integrity, or exclusion constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstraint","type":"oid","description":"The pg_constraint entry associated with the trigger, if any","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgdeferrable","type":"boolean","description":"True if constraint trigger is deferrable","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tginitdeferred","type":"boolean","description":"True if constraint trigger is initially deferred","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgnargs","type":"smallint","description":"Number of argument strings passed to trigger function","documented_type":"int2","hidden":false,"type_oid":21,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgattr","type":"int2vector","description":"Column numbers, if trigger is column-specific; otherwise an empty array","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"tgargs","type":"bytea","description":"Argument strings to pass to trigger, each NULL-terminated","hidden":false,"type_oid":17,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the trigger's WHEN condition, or null if none","hidden":false,"type_oid":194,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-trigger.html","source_path":"sources/postgresql/9.4/catalog-pg-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_trigger.h","definition_source_path":"sources/postgresql/9.4/source/pg_trigger.h","source_column_count":16,"documentary_schema_source":"documentation","relation_oid":2620,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_trigger stores triggers on tables and views. See CREATE TRIGGER for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgrelid","type":"oid","description":"The table this trigger is on","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgname","type":"name","description":"Trigger name (must be unique among triggers of same table)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgtype","type":"smallint","description":"Bit mask identifying trigger firing conditions","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the trigger fires. O = trigger fires in \"origin\" and \"local\" modes, D = trigger is disabled, R = trigger fires in \"replica\" mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgisinternal","type":"boolean","description":"True if trigger is internally generated (usually, to enforce the constraint identified by tgconstraint)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrrelid","type":"oid","description":"The table referenced by a referential integrity constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrindid","type":"oid","description":"The index supporting a unique, primary key, referential integrity, or exclusion constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstraint","type":"oid","description":"The pg_constraint entry associated with the trigger, if any","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgdeferrable","type":"boolean","description":"True if constraint trigger is deferrable","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tginitdeferred","type":"boolean","description":"True if constraint trigger is initially deferred","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgnargs","type":"smallint","description":"Number of argument strings passed to trigger function","documented_type":"int2","hidden":false,"type_oid":21,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgattr","type":"int2vector","description":"Column numbers, if trigger is column-specific; otherwise an empty array","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"tgargs","type":"bytea","description":"Argument strings to pass to trigger, each NULL-terminated","hidden":false,"type_oid":17,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the trigger's WHEN condition, or null if none","hidden":false,"type_oid":194,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-trigger.html","source_path":"sources/postgresql/9.5/catalog-pg-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_trigger.h","definition_source_path":"sources/postgresql/9.5/source/pg_trigger.h","source_column_count":16,"documentary_schema_source":"documentation","relation_oid":2620,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_trigger stores triggers on tables and views. See CREATE TRIGGER for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgrelid","type":"oid","description":"The table this trigger is on","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgname","type":"name","description":"Trigger name (must be unique among triggers of same table)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgtype","type":"smallint","description":"Bit mask identifying trigger firing conditions","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the trigger fires. O = trigger fires in \"origin\" and \"local\" modes, D = trigger is disabled, R = trigger fires in \"replica\" mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgisinternal","type":"boolean","description":"True if trigger is internally generated (usually, to enforce the constraint identified by tgconstraint)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrrelid","type":"oid","description":"The table referenced by a referential integrity constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrindid","type":"oid","description":"The index supporting a unique, primary key, referential integrity, or exclusion constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstraint","type":"oid","description":"The pg_constraint entry associated with the trigger, if any","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgdeferrable","type":"boolean","description":"True if constraint trigger is deferrable","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tginitdeferred","type":"boolean","description":"True if constraint trigger is initially deferred","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgnargs","type":"smallint","description":"Number of argument strings passed to trigger function","documented_type":"int2","hidden":false,"type_oid":21,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgattr","type":"int2vector","description":"Column numbers, if trigger is column-specific; otherwise an empty array","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"tgargs","type":"bytea","description":"Argument strings to pass to trigger, each NULL-terminated","hidden":false,"type_oid":17,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the trigger's WHEN condition, or null if none","hidden":false,"type_oid":194,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-trigger.html","source_path":"sources/postgresql/9.6/catalog-pg-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_trigger.h","definition_source_path":"sources/postgresql/9.6/source/pg_trigger.h","source_column_count":16,"documentary_schema_source":"documentation","relation_oid":2620,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_trigger stores triggers on tables and views. See CREATE TRIGGER for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgrelid","type":"oid","description":"The table this trigger is on","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgname","type":"name","description":"Trigger name (must be unique among triggers of same table)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgtype","type":"smallint","description":"Bit mask identifying trigger firing conditions","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgisinternal","type":"boolean","description":"True if trigger is internally generated (usually, to enforce the constraint identified by tgconstraint)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrrelid","type":"oid","description":"The table referenced by a referential integrity constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrindid","type":"oid","description":"The index supporting a unique, primary key, referential integrity, or exclusion constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstraint","type":"oid","description":"The pg_constraint entry associated with the trigger, if any","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgdeferrable","type":"boolean","description":"True if constraint trigger is deferrable","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tginitdeferred","type":"boolean","description":"True if constraint trigger is initially deferred","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgnargs","type":"smallint","description":"Number of argument strings passed to trigger function","documented_type":"int2","hidden":false,"type_oid":21,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgattr","type":"int2vector","description":"Column numbers, if trigger is column-specific; otherwise an empty array","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"tgargs","type":"bytea","description":"Argument strings to pass to trigger, each NULL-terminated","hidden":false,"type_oid":17,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the trigger's WHEN condition, or null if none","hidden":false,"type_oid":194,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgoldtable","type":"name","description":"REFERENCING clause name for OLD TABLE, or null if none","hidden":false,"type_oid":19,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgnewtable","type":"name","description":"REFERENCING clause name for NEW TABLE, or null if none","hidden":false,"type_oid":19,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-trigger.html","source_path":"sources/postgresql/10/catalog-pg-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_trigger.h","definition_source_path":"sources/postgresql/10/source/pg_trigger.h","source_column_count":18,"documentary_schema_source":"documentation","relation_oid":2620,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_trigger stores triggers on tables and views. See CREATE TRIGGER for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgrelid","type":"oid","description":"The table this trigger is on","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgname","type":"name","description":"Trigger name (must be unique among triggers of same table)","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgtype","type":"smallint","description":"Bit mask identifying trigger firing conditions","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgisinternal","type":"boolean","description":"True if trigger is internally generated (usually, to enforce the constraint identified by tgconstraint)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrrelid","type":"oid","description":"The table referenced by a referential integrity constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrindid","type":"oid","description":"The index supporting a unique, primary key, referential integrity, or exclusion constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstraint","type":"oid","description":"The pg_constraint entry associated with the trigger, if any","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgdeferrable","type":"boolean","description":"True if constraint trigger is deferrable","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tginitdeferred","type":"boolean","description":"True if constraint trigger is initially deferred","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgnargs","type":"smallint","description":"Number of argument strings passed to trigger function","documented_type":"int2","hidden":false,"type_oid":21,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgattr","type":"int2vector","description":"Column numbers, if trigger is column-specific; otherwise an empty array","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":13,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"tgargs","type":"bytea","description":"Argument strings to pass to trigger, each NULL-terminated","hidden":false,"type_oid":17,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the trigger's WHEN condition, or null if none","hidden":false,"type_oid":194,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgoldtable","type":"name","description":"REFERENCING clause name for OLD TABLE, or null if none","hidden":false,"type_oid":19,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgnewtable","type":"name","description":"REFERENCING clause name for NEW TABLE, or null if none","hidden":false,"type_oid":19,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-trigger.html","source_path":"sources/postgresql/11/catalog-pg-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_trigger.h","definition_source_path":"sources/postgresql/11/source/pg_trigger.h","source_column_count":18,"documentary_schema_source":"documentation","relation_oid":2620,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_trigger stores triggers on tables and views. See CREATE TRIGGER for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgrelid","type":"oid","description":"The table this trigger is on","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgname","type":"name","description":"Trigger name (must be unique among triggers of same table)","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgtype","type":"smallint","description":"Bit mask identifying trigger firing conditions","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgisinternal","type":"boolean","description":"True if trigger is internally generated (usually, to enforce the constraint identified by tgconstraint)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrrelid","type":"oid","description":"The table referenced by a referential integrity constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrindid","type":"oid","description":"The index supporting a unique, primary key, referential integrity, or exclusion constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstraint","type":"oid","description":"The pg_constraint entry associated with the trigger, if any","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgdeferrable","type":"boolean","description":"True if constraint trigger is deferrable","documented_type":"bool","hidden":false,"type_oid":16,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tginitdeferred","type":"boolean","description":"True if constraint trigger is initially deferred","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgnargs","type":"smallint","description":"Number of argument strings passed to trigger function","documented_type":"int2","hidden":false,"type_oid":21,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgattr","type":"int2vector","description":"Column numbers, if trigger is column-specific; otherwise an empty array","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":14,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"tgargs","type":"bytea","description":"Argument strings to pass to trigger, each NULL-terminated","hidden":false,"type_oid":17,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the trigger's WHEN condition, or null if none","hidden":false,"type_oid":194,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgoldtable","type":"name","description":"REFERENCING clause name for OLD TABLE, or null if none","hidden":false,"type_oid":19,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgnewtable","type":"name","description":"REFERENCING clause name for NEW TABLE, or null if none","hidden":false,"type_oid":19,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-trigger.html","source_path":"sources/postgresql/12/catalog-pg-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_trigger.h","definition_source_path":"sources/postgresql/12/source/pg_trigger.h","source_column_count":18,"documentary_schema_source":"documentation","relation_oid":2620,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_trigger stores triggers on tables and views. See CREATE TRIGGER for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgrelid","type":"oid","description":"The table this trigger is on","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgparentid","type":"oid","description":"Parent trigger that this trigger is cloned from, zero if not a clone; this happens when partitions are created or attached to a partitioned table.","references":"pg_trigger.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgname","type":"name","description":"Trigger name (must be unique among triggers of same table)","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgtype","type":"smallint","description":"Bit mask identifying trigger firing conditions","documented_type":"int2","hidden":false,"type_oid":21,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgisinternal","type":"boolean","description":"True if trigger is internally generated (usually, to enforce the constraint identified by tgconstraint)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrrelid","type":"oid","description":"The table referenced by a referential integrity constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrindid","type":"oid","description":"The index supporting a unique, primary key, referential integrity, or exclusion constraint","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstraint","type":"oid","description":"The pg_constraint entry associated with the trigger, if any","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgdeferrable","type":"boolean","description":"True if constraint trigger is deferrable","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tginitdeferred","type":"boolean","description":"True if constraint trigger is initially deferred","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgnargs","type":"smallint","description":"Number of argument strings passed to trigger function","documented_type":"int2","hidden":false,"type_oid":21,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgattr","type":"int2vector","description":"Column numbers, if trigger is column-specific; otherwise an empty array","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"tgargs","type":"bytea","description":"Argument strings to pass to trigger, each NULL-terminated","hidden":false,"type_oid":17,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the trigger's WHEN condition, or null if none","hidden":false,"type_oid":194,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgoldtable","type":"name","description":"REFERENCING clause name for OLD TABLE, or null if none","hidden":false,"type_oid":19,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgnewtable","type":"name","description":"REFERENCING clause name for NEW TABLE, or null if none","hidden":false,"type_oid":19,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-trigger.html","source_path":"sources/postgresql/13/catalog-pg-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_trigger.h","definition_source_path":"sources/postgresql/13/source/pg_trigger.h","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":2620,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_trigger stores triggers on tables and views. See CREATE TRIGGER for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgrelid","type":"oid","description":"The table this trigger is on","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgparentid","type":"oid","description":"Parent trigger that this trigger is cloned from (this happens when partitions are created or attached to a partitioned table); zero if not a clone","references":"pg_trigger.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgname","type":"name","description":"Trigger name (must be unique among triggers of same table)","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgtype","type":"smallint","description":"Bit mask identifying trigger firing conditions","documented_type":"int2","hidden":false,"type_oid":21,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgisinternal","type":"boolean","description":"True if trigger is internally generated (usually, to enforce the constraint identified by tgconstraint)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrrelid","type":"oid","description":"The table referenced by a referential integrity constraint (zero if trigger is not for a referential integrity constraint)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrindid","type":"oid","description":"The index supporting a unique, primary key, referential integrity, or exclusion constraint (zero if trigger is not for one of these types of constraint)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstraint","type":"oid","description":"The pg_constraint entry associated with the trigger (zero if trigger is not for a constraint)","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgdeferrable","type":"boolean","description":"True if constraint trigger is deferrable","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tginitdeferred","type":"boolean","description":"True if constraint trigger is initially deferred","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgnargs","type":"smallint","description":"Number of argument strings passed to trigger function","documented_type":"int2","hidden":false,"type_oid":21,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgattr","type":"int2vector","description":"Column numbers, if trigger is column-specific; otherwise an empty array","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"tgargs","type":"bytea","description":"Argument strings to pass to trigger, each NULL-terminated","hidden":false,"type_oid":17,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the trigger's WHEN condition, or null if none","hidden":false,"type_oid":194,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgoldtable","type":"name","description":"REFERENCING clause name for OLD TABLE, or null if none","hidden":false,"type_oid":19,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgnewtable","type":"name","description":"REFERENCING clause name for NEW TABLE, or null if none","hidden":false,"type_oid":19,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-trigger.html","source_path":"sources/postgresql/14/catalog-pg-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_trigger.h","definition_source_path":"sources/postgresql/14/source/pg_trigger.h","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":2620,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_trigger stores triggers on tables and views. See CREATE TRIGGER for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgrelid","type":"oid","description":"The table this trigger is on","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgparentid","type":"oid","description":"Parent trigger that this trigger is cloned from (this happens when partitions are created or attached to a partitioned table); zero if not a clone","references":"pg_trigger.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgname","type":"name","description":"Trigger name (must be unique among triggers of same table)","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgtype","type":"smallint","description":"Bit mask identifying trigger firing conditions","documented_type":"int2","hidden":false,"type_oid":21,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgisinternal","type":"boolean","description":"True if trigger is internally generated (usually, to enforce the constraint identified by tgconstraint)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrrelid","type":"oid","description":"The table referenced by a referential integrity constraint (zero if trigger is not for a referential integrity constraint)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrindid","type":"oid","description":"The index supporting a unique, primary key, referential integrity, or exclusion constraint (zero if trigger is not for one of these types of constraint)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstraint","type":"oid","description":"The pg_constraint entry associated with the trigger (zero if trigger is not for a constraint)","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgdeferrable","type":"boolean","description":"True if constraint trigger is deferrable","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tginitdeferred","type":"boolean","description":"True if constraint trigger is initially deferred","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgnargs","type":"smallint","description":"Number of argument strings passed to trigger function","documented_type":"int2","hidden":false,"type_oid":21,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgattr","type":"int2vector","description":"Column numbers, if trigger is column-specific; otherwise an empty array","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"tgargs","type":"bytea","description":"Argument strings to pass to trigger, each NULL-terminated","hidden":false,"type_oid":17,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the trigger's WHEN condition, or null if none","hidden":false,"type_oid":194,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgoldtable","type":"name","description":"REFERENCING clause name for OLD TABLE, or null if none","hidden":false,"type_oid":19,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgnewtable","type":"name","description":"REFERENCING clause name for NEW TABLE, or null if none","hidden":false,"type_oid":19,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-trigger.html","source_path":"sources/postgresql/15/catalog-pg-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_trigger.h","definition_source_path":"sources/postgresql/15/source/pg_trigger.h","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":2620,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_trigger stores triggers on tables and views. See CREATE TRIGGER for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgrelid","type":"oid","description":"The table this trigger is on","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgparentid","type":"oid","description":"Parent trigger that this trigger is cloned from (this happens when partitions are created or attached to a partitioned table); zero if not a clone","references":"pg_trigger.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgname","type":"name","description":"Trigger name (must be unique among triggers of same table)","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgtype","type":"smallint","description":"Bit mask identifying trigger firing conditions","documented_type":"int2","hidden":false,"type_oid":21,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgisinternal","type":"boolean","description":"True if trigger is internally generated (usually, to enforce the constraint identified by tgconstraint)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrrelid","type":"oid","description":"The table referenced by a referential integrity constraint (zero if trigger is not for a referential integrity constraint)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrindid","type":"oid","description":"The index supporting a unique, primary key, referential integrity, or exclusion constraint (zero if trigger is not for one of these types of constraint)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstraint","type":"oid","description":"The pg_constraint entry associated with the trigger (zero if trigger is not for a constraint)","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgdeferrable","type":"boolean","description":"True if constraint trigger is deferrable","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tginitdeferred","type":"boolean","description":"True if constraint trigger is initially deferred","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgnargs","type":"smallint","description":"Number of argument strings passed to trigger function","documented_type":"int2","hidden":false,"type_oid":21,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgattr","type":"int2vector","description":"Column numbers, if trigger is column-specific; otherwise an empty array","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"tgargs","type":"bytea","description":"Argument strings to pass to trigger, each NULL-terminated","hidden":false,"type_oid":17,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the trigger's WHEN condition, or null if none","hidden":false,"type_oid":194,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgoldtable","type":"name","description":"REFERENCING clause name for OLD TABLE, or null if none","hidden":false,"type_oid":19,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgnewtable","type":"name","description":"REFERENCING clause name for NEW TABLE, or null if none","hidden":false,"type_oid":19,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-trigger.html","source_path":"sources/postgresql/16/catalog-pg-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_trigger.h","definition_source_path":"sources/postgresql/16/source/pg_trigger.h","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":2620,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_trigger stores triggers on tables and views. See CREATE TRIGGER for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgrelid","type":"oid","description":"The table this trigger is on","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgparentid","type":"oid","description":"Parent trigger that this trigger is cloned from (this happens when partitions are created or attached to a partitioned table); zero if not a clone","references":"pg_trigger.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgname","type":"name","description":"Trigger name (must be unique among triggers of same table)","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgtype","type":"smallint","description":"Bit mask identifying trigger firing conditions","documented_type":"int2","hidden":false,"type_oid":21,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgisinternal","type":"boolean","description":"True if trigger is internally generated (usually, to enforce the constraint identified by tgconstraint)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrrelid","type":"oid","description":"The table referenced by a referential integrity constraint (zero if trigger is not for a referential integrity constraint)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrindid","type":"oid","description":"The index supporting a unique, primary key, referential integrity, or exclusion constraint (zero if trigger is not for one of these types of constraint)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstraint","type":"oid","description":"The pg_constraint entry associated with the trigger (zero if trigger is not for a constraint)","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgdeferrable","type":"boolean","description":"True if constraint trigger is deferrable","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tginitdeferred","type":"boolean","description":"True if constraint trigger is initially deferred","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgnargs","type":"smallint","description":"Number of argument strings passed to trigger function","documented_type":"int2","hidden":false,"type_oid":21,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgattr","type":"int2vector","description":"Column numbers, if trigger is column-specific; otherwise an empty array","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"tgargs","type":"bytea","description":"Argument strings to pass to trigger, each NULL-terminated","hidden":false,"type_oid":17,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the trigger's WHEN condition, or null if none","hidden":false,"type_oid":194,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgoldtable","type":"name","description":"REFERENCING clause name for OLD TABLE, or null if none","hidden":false,"type_oid":19,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgnewtable","type":"name","description":"REFERENCING clause name for NEW TABLE, or null if none","hidden":false,"type_oid":19,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-trigger.html","source_path":"sources/postgresql/17/catalog-pg-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_trigger.h","definition_source_path":"sources/postgresql/17/source/pg_trigger.h","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":2620,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_trigger stores triggers on tables and views. See CREATE TRIGGER for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgrelid","type":"oid","description":"The table this trigger is on","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgparentid","type":"oid","description":"Parent trigger that this trigger is cloned from (this happens when partitions are created or attached to a partitioned table); zero if not a clone","references":"pg_trigger.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgname","type":"name","description":"Trigger name (must be unique among triggers of same table)","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgtype","type":"smallint","description":"Bit mask identifying trigger firing conditions","documented_type":"int2","hidden":false,"type_oid":21,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgisinternal","type":"boolean","description":"True if trigger is internally generated (usually, to enforce the constraint identified by tgconstraint)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrrelid","type":"oid","description":"The table referenced by a referential integrity constraint (zero if trigger is not for a referential integrity constraint)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrindid","type":"oid","description":"The index supporting a unique, primary key, referential integrity, or exclusion constraint (zero if trigger is not for one of these types of constraint)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstraint","type":"oid","description":"The pg_constraint entry associated with the trigger (zero if trigger is not for a constraint)","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgdeferrable","type":"boolean","description":"True if constraint trigger is deferrable","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tginitdeferred","type":"boolean","description":"True if constraint trigger is initially deferred","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgnargs","type":"smallint","description":"Number of argument strings passed to trigger function","documented_type":"int2","hidden":false,"type_oid":21,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgattr","type":"int2vector","description":"Column numbers, if trigger is column-specific; otherwise an empty array","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"tgargs","type":"bytea","description":"Argument strings to pass to trigger, each NULL-terminated","hidden":false,"type_oid":17,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the trigger's WHEN condition, or null if none","hidden":false,"type_oid":194,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgoldtable","type":"name","description":"REFERENCING clause name for OLD TABLE, or null if none","hidden":false,"type_oid":19,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgnewtable","type":"name","description":"REFERENCING clause name for NEW TABLE, or null if none","hidden":false,"type_oid":19,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-trigger.html","source_path":"sources/postgresql/18/catalog-pg-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_trigger.h","definition_source_path":"sources/postgresql/18/source/pg_trigger.h","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":2620,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_trigger stores triggers on tables and views. See CREATE TRIGGER for more information.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgrelid","type":"oid","description":"The table this trigger is on","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgparentid","type":"oid","description":"Parent trigger that this trigger is cloned from (this happens when partitions are created or attached to a partitioned table); zero if not a clone","references":"pg_trigger.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgname","type":"name","description":"Trigger name (must be unique among triggers of same table)","hidden":false,"type_oid":19,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgfoid","type":"oid","description":"The function to be called","references":"pg_proc.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgtype","type":"smallint","description":"Bit mask identifying trigger firing conditions","documented_type":"int2","hidden":false,"type_oid":21,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgenabled","type":"\"char\"","description":"Controls in which session_replication_role modes the trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgisinternal","type":"boolean","description":"True if trigger is internally generated (usually, to enforce the constraint identified by tgconstraint)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrrelid","type":"oid","description":"The table referenced by a referential integrity constraint (zero if trigger is not for a referential integrity constraint)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstrindid","type":"oid","description":"The index supporting a unique, primary key, referential integrity, or exclusion constraint (zero if trigger is not for one of these types of constraint)","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgconstraint","type":"oid","description":"The pg_constraint entry associated with the trigger (zero if trigger is not for a constraint)","references":"pg_constraint.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgdeferrable","type":"boolean","description":"True if constraint trigger is deferrable","documented_type":"bool","hidden":false,"type_oid":16,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tginitdeferred","type":"boolean","description":"True if constraint trigger is initially deferred","documented_type":"bool","hidden":false,"type_oid":16,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgnargs","type":"smallint","description":"Number of argument strings passed to trigger function","documented_type":"int2","hidden":false,"type_oid":21,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgattr","type":"int2vector","description":"Column numbers, if trigger is column-specific; otherwise an empty array","references":"pg_attribute.attnum","hidden":false,"type_oid":22,"attnum":15,"type_modifier":-1,"array_dimensions":1,"not_null":true},{"name":"tgargs","type":"bytea","description":"Argument strings to pass to trigger, each NULL-terminated","hidden":false,"type_oid":17,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tgqual","type":"pg_node_tree","description":"Expression tree (in nodeToString() representation) for the trigger's WHEN condition, or null if none","hidden":false,"type_oid":194,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgoldtable","type":"name","description":"REFERENCING clause name for OLD TABLE, or null if none","hidden":false,"type_oid":19,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgnewtable","type":"name","description":"REFERENCING clause name for NEW TABLE, or null if none","hidden":false,"type_oid":19,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-trigger.html","source_path":"sources/postgresql/19/catalog-pg-trigger.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_trigger.h","definition_source_path":"sources/postgresql/19/source/pg_trigger.h","source_column_count":19,"documentary_schema_source":"documentation","relation_oid":2620,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[{"name":"tgqual","from":"text","to":"pg_node_tree"}],"description_changes":[{"name":"tgtype","from":"Bit mask identifying trigger conditions","to":"Bit mask identifying trigger firing conditions"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":true,"column_order_changed":false,"structural":true},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.3","to":"9.4","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"tgconstrindid","from":"The index supporting a unique, primary key, or referential integrity constraint","to":"The index supporting a unique, primary key, referential integrity, or exclusion constraint"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[{"name":"tgargs","attribute":"not_null","from":false,"to":true}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.6","to":"10","status":"changed","added_columns":[{"name":"tgoldtable","type":"name","description":"REFERENCING clause name for OLD TABLE, or null if none","hidden":false,"type_oid":19,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"tgnewtable","type":"name","description":"REFERENCING clause name for NEW TABLE, or null if none","hidden":false,"type_oid":19,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"tgenabled","from":"Controls in which session_replication_role modes the trigger fires. O = trigger fires in \"origin\" and \"local\" modes, D = trigger is disabled, R = trigger fires in \"replica\" mode, A = trigger fires always.","to":"Controls in which session_replication_role modes the trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"12","to":"13","status":"changed","added_columns":[{"name":"tgparentid","type":"oid","description":"Parent trigger that this trigger is cloned from, zero if not a clone; this happens when partitions are created or attached to a partitioned table.","references":"pg_trigger.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"tgconstraint","from":"The pg_constraint entry associated with the trigger, if any","to":"The pg_constraint entry associated with the trigger (zero if trigger is not for a constraint)"},{"name":"tgconstrindid","from":"The index supporting a unique, primary key, referential integrity, or exclusion constraint","to":"The index supporting a unique, primary key, referential integrity, or exclusion constraint (zero if trigger is not for one of these types of constraint)"},{"name":"tgconstrrelid","from":"The table referenced by a referential integrity constraint","to":"The table referenced by a referential integrity constraint (zero if trigger is not for a referential integrity constraint)"},{"name":"tgparentid","from":"Parent trigger that this trigger is cloned from, zero if not a clone; this happens when partitions are created or attached to a partitioned table.","to":"Parent trigger that this trigger is cloned from (this happens when partitions are created or attached to a partitioned table); zero if not a clone"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_ts_config","kind":"catalog","summary":"text search configurations","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The pg_ts_config catalog contains entries representing text search configurations. A configuration specifies a particular text search parser and a list of dictionaries to use for each of the parser's output token types. The parser is shown in the pg_ts_config entry, but the token-to-dictionary mapping is defined by subsidiary entries in pg_ts_config_map.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_ts_config.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgname","type":"name","description":"Text search configuration name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgnamespace","type":"oid","description":"The OID of the namespace that contains this configuration","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgowner","type":"oid","description":"Owner of the configuration","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgparser","type":"oid","description":"The OID of the text search parser for this configuration","references":"pg_ts_parser.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-ts-config.html","source_path":"sources/postgresql/9.0/catalog-pg-ts-config.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_ts_config.h","definition_source_path":"sources/postgresql/9.0/source/pg_ts_config.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The pg_ts_config catalog contains entries representing text search configurations. A configuration specifies a particular text search parser and a list of dictionaries to use for each of the parser's output token types. The parser is shown in the pg_ts_config entry, but the token-to-dictionary mapping is defined by subsidiary entries in pg_ts_config_map.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_ts_config.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgname","type":"name","description":"Text search configuration name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgnamespace","type":"oid","description":"The OID of the namespace that contains this configuration","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgowner","type":"oid","description":"Owner of the configuration","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgparser","type":"oid","description":"The OID of the text search parser for this configuration","references":"pg_ts_parser.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-ts-config.html","source_path":"sources/postgresql/9.1/catalog-pg-ts-config.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_ts_config.h","definition_source_path":"sources/postgresql/9.1/source/pg_ts_config.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The pg_ts_config catalog contains entries representing text search configurations. A configuration specifies a particular text search parser and a list of dictionaries to use for each of the parser's output token types. The parser is shown in the pg_ts_config entry, but the token-to-dictionary mapping is defined by subsidiary entries in pg_ts_config_map.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_ts_config.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgname","type":"name","description":"Text search configuration name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgnamespace","type":"oid","description":"The OID of the namespace that contains this configuration","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgowner","type":"oid","description":"Owner of the configuration","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgparser","type":"oid","description":"The OID of the text search parser for this configuration","references":"pg_ts_parser.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-ts-config.html","source_path":"sources/postgresql/9.2/catalog-pg-ts-config.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_ts_config.h","definition_source_path":"sources/postgresql/9.2/source/pg_ts_config.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The pg_ts_config catalog contains entries representing text search configurations. A configuration specifies a particular text search parser and a list of dictionaries to use for each of the parser's output token types. The parser is shown in the pg_ts_config entry, but the token-to-dictionary mapping is defined by subsidiary entries in pg_ts_config_map.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgname","type":"name","description":"Text search configuration name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgnamespace","type":"oid","description":"The OID of the namespace that contains this configuration","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgowner","type":"oid","description":"Owner of the configuration","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgparser","type":"oid","description":"The OID of the text search parser for this configuration","references":"pg_ts_parser.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-ts-config.html","source_path":"sources/postgresql/9.3/catalog-pg-ts-config.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_ts_config.h","definition_source_path":"sources/postgresql/9.3/source/pg_ts_config.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The pg_ts_config catalog contains entries representing text search configurations. A configuration specifies a particular text search parser and a list of dictionaries to use for each of the parser's output token types. The parser is shown in the pg_ts_config entry, but the token-to-dictionary mapping is defined by subsidiary entries in pg_ts_config_map.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgname","type":"name","description":"Text search configuration name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgnamespace","type":"oid","description":"The OID of the namespace that contains this configuration","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgowner","type":"oid","description":"Owner of the configuration","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgparser","type":"oid","description":"The OID of the text search parser for this configuration","references":"pg_ts_parser.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-ts-config.html","source_path":"sources/postgresql/9.4/catalog-pg-ts-config.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_ts_config.h","definition_source_path":"sources/postgresql/9.4/source/pg_ts_config.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The pg_ts_config catalog contains entries representing text search configurations. A configuration specifies a particular text search parser and a list of dictionaries to use for each of the parser's output token types. The parser is shown in the pg_ts_config entry, but the token-to-dictionary mapping is defined by subsidiary entries in pg_ts_config_map.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgname","type":"name","description":"Text search configuration name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgnamespace","type":"oid","description":"The OID of the namespace that contains this configuration","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgowner","type":"oid","description":"Owner of the configuration","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgparser","type":"oid","description":"The OID of the text search parser for this configuration","references":"pg_ts_parser.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-ts-config.html","source_path":"sources/postgresql/9.5/catalog-pg-ts-config.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_ts_config.h","definition_source_path":"sources/postgresql/9.5/source/pg_ts_config.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The pg_ts_config catalog contains entries representing text search configurations. A configuration specifies a particular text search parser and a list of dictionaries to use for each of the parser's output token types. The parser is shown in the pg_ts_config entry, but the token-to-dictionary mapping is defined by subsidiary entries in pg_ts_config_map.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgname","type":"name","description":"Text search configuration name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgnamespace","type":"oid","description":"The OID of the namespace that contains this configuration","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgowner","type":"oid","description":"Owner of the configuration","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgparser","type":"oid","description":"The OID of the text search parser for this configuration","references":"pg_ts_parser.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-ts-config.html","source_path":"sources/postgresql/9.6/catalog-pg-ts-config.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_ts_config.h","definition_source_path":"sources/postgresql/9.6/source/pg_ts_config.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The pg_ts_config catalog contains entries representing text search configurations. A configuration specifies a particular text search parser and a list of dictionaries to use for each of the parser's output token types. The parser is shown in the pg_ts_config entry, but the token-to-dictionary mapping is defined by subsidiary entries in pg_ts_config_map.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgname","type":"name","description":"Text search configuration name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgnamespace","type":"oid","description":"The OID of the namespace that contains this configuration","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgowner","type":"oid","description":"Owner of the configuration","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgparser","type":"oid","description":"The OID of the text search parser for this configuration","references":"pg_ts_parser.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-ts-config.html","source_path":"sources/postgresql/10/catalog-pg-ts-config.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_ts_config.h","definition_source_path":"sources/postgresql/10/source/pg_ts_config.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The pg_ts_config catalog contains entries representing text search configurations. A configuration specifies a particular text search parser and a list of dictionaries to use for each of the parser's output token types. The parser is shown in the pg_ts_config entry, but the token-to-dictionary mapping is defined by subsidiary entries in pg_ts_config_map.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgname","type":"name","description":"Text search configuration name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgnamespace","type":"oid","description":"The OID of the namespace that contains this configuration","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgowner","type":"oid","description":"Owner of the configuration","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgparser","type":"oid","description":"The OID of the text search parser for this configuration","references":"pg_ts_parser.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-ts-config.html","source_path":"sources/postgresql/11/catalog-pg-ts-config.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_ts_config.h","definition_source_path":"sources/postgresql/11/source/pg_ts_config.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The pg_ts_config catalog contains entries representing text search configurations. A configuration specifies a particular text search parser and a list of dictionaries to use for each of the parser's output token types. The parser is shown in the pg_ts_config entry, but the token-to-dictionary mapping is defined by subsidiary entries in pg_ts_config_map.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgname","type":"name","description":"Text search configuration name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgnamespace","type":"oid","description":"The OID of the namespace that contains this configuration","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgowner","type":"oid","description":"Owner of the configuration","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgparser","type":"oid","description":"The OID of the text search parser for this configuration","references":"pg_ts_parser.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-ts-config.html","source_path":"sources/postgresql/12/catalog-pg-ts-config.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_ts_config.h","definition_source_path":"sources/postgresql/12/source/pg_ts_config.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_ts_config catalog contains entries representing text search configurations. A configuration specifies a particular text search parser and a list of dictionaries to use for each of the parser's output token types. The parser is shown in the pg_ts_config entry, but the token-to-dictionary mapping is defined by subsidiary entries in pg_ts_config_map.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgname","type":"name","description":"Text search configuration name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgnamespace","type":"oid","description":"The OID of the namespace that contains this configuration","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgowner","type":"oid","description":"Owner of the configuration","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgparser","type":"oid","description":"The OID of the text search parser for this configuration","references":"pg_ts_parser.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-ts-config.html","source_path":"sources/postgresql/13/catalog-pg-ts-config.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_ts_config.h","definition_source_path":"sources/postgresql/13/source/pg_ts_config.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_ts_config catalog contains entries representing text search configurations. A configuration specifies a particular text search parser and a list of dictionaries to use for each of the parser's output token types. The parser is shown in the pg_ts_config entry, but the token-to-dictionary mapping is defined by subsidiary entries in pg_ts_config_map.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgname","type":"name","description":"Text search configuration name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgnamespace","type":"oid","description":"The OID of the namespace that contains this configuration","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgowner","type":"oid","description":"Owner of the configuration","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgparser","type":"oid","description":"The OID of the text search parser for this configuration","references":"pg_ts_parser.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-ts-config.html","source_path":"sources/postgresql/14/catalog-pg-ts-config.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_ts_config.h","definition_source_path":"sources/postgresql/14/source/pg_ts_config.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_ts_config catalog contains entries representing text search configurations. A configuration specifies a particular text search parser and a list of dictionaries to use for each of the parser's output token types. The parser is shown in the pg_ts_config entry, but the token-to-dictionary mapping is defined by subsidiary entries in pg_ts_config_map.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgname","type":"name","description":"Text search configuration name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgnamespace","type":"oid","description":"The OID of the namespace that contains this configuration","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgowner","type":"oid","description":"Owner of the configuration","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgparser","type":"oid","description":"The OID of the text search parser for this configuration","references":"pg_ts_parser.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-ts-config.html","source_path":"sources/postgresql/15/catalog-pg-ts-config.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_ts_config.h","definition_source_path":"sources/postgresql/15/source/pg_ts_config.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_ts_config catalog contains entries representing text search configurations. A configuration specifies a particular text search parser and a list of dictionaries to use for each of the parser's output token types. The parser is shown in the pg_ts_config entry, but the token-to-dictionary mapping is defined by subsidiary entries in pg_ts_config_map.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgname","type":"name","description":"Text search configuration name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgnamespace","type":"oid","description":"The OID of the namespace that contains this configuration","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgowner","type":"oid","description":"Owner of the configuration","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgparser","type":"oid","description":"The OID of the text search parser for this configuration","references":"pg_ts_parser.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-ts-config.html","source_path":"sources/postgresql/16/catalog-pg-ts-config.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_ts_config.h","definition_source_path":"sources/postgresql/16/source/pg_ts_config.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_ts_config catalog contains entries representing text search configurations. A configuration specifies a particular text search parser and a list of dictionaries to use for each of the parser's output token types. The parser is shown in the pg_ts_config entry, but the token-to-dictionary mapping is defined by subsidiary entries in pg_ts_config_map.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgname","type":"name","description":"Text search configuration name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgnamespace","type":"oid","description":"The OID of the namespace that contains this configuration","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgowner","type":"oid","description":"Owner of the configuration","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgparser","type":"oid","description":"The OID of the text search parser for this configuration","references":"pg_ts_parser.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-ts-config.html","source_path":"sources/postgresql/17/catalog-pg-ts-config.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_ts_config.h","definition_source_path":"sources/postgresql/17/source/pg_ts_config.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_ts_config catalog contains entries representing text search configurations. A configuration specifies a particular text search parser and a list of dictionaries to use for each of the parser's output token types. The parser is shown in the pg_ts_config entry, but the token-to-dictionary mapping is defined by subsidiary entries in pg_ts_config_map.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgname","type":"name","description":"Text search configuration name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgnamespace","type":"oid","description":"The OID of the namespace that contains this configuration","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgowner","type":"oid","description":"Owner of the configuration","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgparser","type":"oid","description":"The OID of the text search parser for this configuration","references":"pg_ts_parser.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-ts-config.html","source_path":"sources/postgresql/18/catalog-pg-ts-config.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_ts_config.h","definition_source_path":"sources/postgresql/18/source/pg_ts_config.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_ts_config catalog contains entries representing text search configurations. A configuration specifies a particular text search parser and a list of dictionaries to use for each of the parser's output token types. The parser is shown in the pg_ts_config entry, but the token-to-dictionary mapping is defined by subsidiary entries in pg_ts_config_map.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgname","type":"name","description":"Text search configuration name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgnamespace","type":"oid","description":"The OID of the namespace that contains this configuration","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgowner","type":"oid","description":"Owner of the configuration","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"cfgparser","type":"oid","description":"The OID of the text search parser for this configuration","references":"pg_ts_parser.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-ts-config.html","source_path":"sources/postgresql/19/catalog-pg-ts-config.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_ts_config.h","definition_source_path":"sources/postgresql/19/source/pg_ts_config.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3602,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_ts_config_map","kind":"catalog","summary":"text search configurations' token mappings","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The pg_ts_config_map catalog contains entries showing which text search dictionaries should be consulted, and in what order, for each output token type of each text search configuration's parser.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"mapcfg","type":"oid","description":"The OID of the pg_ts_config entry owning this map entry","references":"pg_ts_config.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"maptokentype","type":"integer","description":"A token type emitted by the configuration's parser","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapseqno","type":"integer","description":"Order in which to consult this entry (lower mapseqnos first)","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapdict","type":"oid","description":"The OID of the text search dictionary to consult","references":"pg_ts_dict.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-ts-config-map.html","source_path":"sources/postgresql/9.0/catalog-pg-ts-config-map.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_ts_config_map.h","definition_source_path":"sources/postgresql/9.0/source/pg_ts_config_map.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The pg_ts_config_map catalog contains entries showing which text search dictionaries should be consulted, and in what order, for each output token type of each text search configuration's parser.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"mapcfg","type":"oid","description":"The OID of the pg_ts_config entry owning this map entry","references":"pg_ts_config.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"maptokentype","type":"integer","description":"A token type emitted by the configuration's parser","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapseqno","type":"integer","description":"Order in which to consult this entry (lower mapseqnos first)","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapdict","type":"oid","description":"The OID of the text search dictionary to consult","references":"pg_ts_dict.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-ts-config-map.html","source_path":"sources/postgresql/9.1/catalog-pg-ts-config-map.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_ts_config_map.h","definition_source_path":"sources/postgresql/9.1/source/pg_ts_config_map.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The pg_ts_config_map catalog contains entries showing which text search dictionaries should be consulted, and in what order, for each output token type of each text search configuration's parser.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"mapcfg","type":"oid","description":"The OID of the pg_ts_config entry owning this map entry","references":"pg_ts_config.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"maptokentype","type":"integer","description":"A token type emitted by the configuration's parser","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapseqno","type":"integer","description":"Order in which to consult this entry (lower mapseqnos first)","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapdict","type":"oid","description":"The OID of the text search dictionary to consult","references":"pg_ts_dict.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-ts-config-map.html","source_path":"sources/postgresql/9.2/catalog-pg-ts-config-map.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_ts_config_map.h","definition_source_path":"sources/postgresql/9.2/source/pg_ts_config_map.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The pg_ts_config_map catalog contains entries showing which text search dictionaries should be consulted, and in what order, for each output token type of each text search configuration's parser.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"mapcfg","type":"oid","description":"The OID of the pg_ts_config entry owning this map entry","references":"pg_ts_config.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"maptokentype","type":"integer","description":"A token type emitted by the configuration's parser","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapseqno","type":"integer","description":"Order in which to consult this entry (lower mapseqnos first)","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapdict","type":"oid","description":"The OID of the text search dictionary to consult","references":"pg_ts_dict.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-ts-config-map.html","source_path":"sources/postgresql/9.3/catalog-pg-ts-config-map.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_ts_config_map.h","definition_source_path":"sources/postgresql/9.3/source/pg_ts_config_map.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The pg_ts_config_map catalog contains entries showing which text search dictionaries should be consulted, and in what order, for each output token type of each text search configuration's parser.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"mapcfg","type":"oid","description":"The OID of the pg_ts_config entry owning this map entry","references":"pg_ts_config.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"maptokentype","type":"integer","description":"A token type emitted by the configuration's parser","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapseqno","type":"integer","description":"Order in which to consult this entry (lower mapseqnos first)","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapdict","type":"oid","description":"The OID of the text search dictionary to consult","references":"pg_ts_dict.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-ts-config-map.html","source_path":"sources/postgresql/9.4/catalog-pg-ts-config-map.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_ts_config_map.h","definition_source_path":"sources/postgresql/9.4/source/pg_ts_config_map.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The pg_ts_config_map catalog contains entries showing which text search dictionaries should be consulted, and in what order, for each output token type of each text search configuration's parser.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"mapcfg","type":"oid","description":"The OID of the pg_ts_config entry owning this map entry","references":"pg_ts_config.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"maptokentype","type":"integer","description":"A token type emitted by the configuration's parser","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapseqno","type":"integer","description":"Order in which to consult this entry (lower mapseqnos first)","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapdict","type":"oid","description":"The OID of the text search dictionary to consult","references":"pg_ts_dict.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-ts-config-map.html","source_path":"sources/postgresql/9.5/catalog-pg-ts-config-map.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_ts_config_map.h","definition_source_path":"sources/postgresql/9.5/source/pg_ts_config_map.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The pg_ts_config_map catalog contains entries showing which text search dictionaries should be consulted, and in what order, for each output token type of each text search configuration's parser.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"mapcfg","type":"oid","description":"The OID of the pg_ts_config entry owning this map entry","references":"pg_ts_config.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"maptokentype","type":"integer","description":"A token type emitted by the configuration's parser","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapseqno","type":"integer","description":"Order in which to consult this entry (lower mapseqnos first)","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapdict","type":"oid","description":"The OID of the text search dictionary to consult","references":"pg_ts_dict.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-ts-config-map.html","source_path":"sources/postgresql/9.6/catalog-pg-ts-config-map.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_ts_config_map.h","definition_source_path":"sources/postgresql/9.6/source/pg_ts_config_map.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The pg_ts_config_map catalog contains entries showing which text search dictionaries should be consulted, and in what order, for each output token type of each text search configuration's parser.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"mapcfg","type":"oid","description":"The OID of the pg_ts_config entry owning this map entry","references":"pg_ts_config.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"maptokentype","type":"integer","description":"A token type emitted by the configuration's parser","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapseqno","type":"integer","description":"Order in which to consult this entry (lower mapseqnos first)","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapdict","type":"oid","description":"The OID of the text search dictionary to consult","references":"pg_ts_dict.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-ts-config-map.html","source_path":"sources/postgresql/10/catalog-pg-ts-config-map.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_ts_config_map.h","definition_source_path":"sources/postgresql/10/source/pg_ts_config_map.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The pg_ts_config_map catalog contains entries showing which text search dictionaries should be consulted, and in what order, for each output token type of each text search configuration's parser.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"mapcfg","type":"oid","description":"The OID of the pg_ts_config entry owning this map entry","references":"pg_ts_config.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"maptokentype","type":"integer","description":"A token type emitted by the configuration's parser","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapseqno","type":"integer","description":"Order in which to consult this entry (lower mapseqnos first)","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapdict","type":"oid","description":"The OID of the text search dictionary to consult","references":"pg_ts_dict.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-ts-config-map.html","source_path":"sources/postgresql/11/catalog-pg-ts-config-map.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_ts_config_map.h","definition_source_path":"sources/postgresql/11/source/pg_ts_config_map.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The pg_ts_config_map catalog contains entries showing which text search dictionaries should be consulted, and in what order, for each output token type of each text search configuration's parser.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"mapcfg","type":"oid","description":"The OID of the pg_ts_config entry owning this map entry","references":"pg_ts_config.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"maptokentype","type":"integer","description":"A token type emitted by the configuration's parser","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapseqno","type":"integer","description":"Order in which to consult this entry (lower mapseqnos first)","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapdict","type":"oid","description":"The OID of the text search dictionary to consult","references":"pg_ts_dict.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-ts-config-map.html","source_path":"sources/postgresql/12/catalog-pg-ts-config-map.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_ts_config_map.h","definition_source_path":"sources/postgresql/12/source/pg_ts_config_map.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_ts_config_map catalog contains entries showing which text search dictionaries should be consulted, and in what order, for each output token type of each text search configuration's parser.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"mapcfg","type":"oid","description":"The OID of the pg_ts_config entry owning this map entry","references":"pg_ts_config.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"maptokentype","type":"integer","description":"A token type emitted by the configuration's parser","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapseqno","type":"integer","description":"Order in which to consult this entry (lower mapseqnos first)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapdict","type":"oid","description":"The OID of the text search dictionary to consult","references":"pg_ts_dict.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-ts-config-map.html","source_path":"sources/postgresql/13/catalog-pg-ts-config-map.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_ts_config_map.h","definition_source_path":"sources/postgresql/13/source/pg_ts_config_map.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_ts_config_map catalog contains entries showing which text search dictionaries should be consulted, and in what order, for each output token type of each text search configuration's parser.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"mapcfg","type":"oid","description":"The OID of the pg_ts_config entry owning this map entry","references":"pg_ts_config.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"maptokentype","type":"integer","description":"A token type emitted by the configuration's parser","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapseqno","type":"integer","description":"Order in which to consult this entry (lower mapseqnos first)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapdict","type":"oid","description":"The OID of the text search dictionary to consult","references":"pg_ts_dict.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-ts-config-map.html","source_path":"sources/postgresql/14/catalog-pg-ts-config-map.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_ts_config_map.h","definition_source_path":"sources/postgresql/14/source/pg_ts_config_map.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_ts_config_map catalog contains entries showing which text search dictionaries should be consulted, and in what order, for each output token type of each text search configuration's parser.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"mapcfg","type":"oid","description":"The OID of the pg_ts_config entry owning this map entry","references":"pg_ts_config.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"maptokentype","type":"integer","description":"A token type emitted by the configuration's parser","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapseqno","type":"integer","description":"Order in which to consult this entry (lower mapseqnos first)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapdict","type":"oid","description":"The OID of the text search dictionary to consult","references":"pg_ts_dict.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-ts-config-map.html","source_path":"sources/postgresql/15/catalog-pg-ts-config-map.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_ts_config_map.h","definition_source_path":"sources/postgresql/15/source/pg_ts_config_map.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_ts_config_map catalog contains entries showing which text search dictionaries should be consulted, and in what order, for each output token type of each text search configuration's parser.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"mapcfg","type":"oid","description":"The OID of the pg_ts_config entry owning this map entry","references":"pg_ts_config.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"maptokentype","type":"integer","description":"A token type emitted by the configuration's parser","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapseqno","type":"integer","description":"Order in which to consult this entry (lower mapseqnos first)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapdict","type":"oid","description":"The OID of the text search dictionary to consult","references":"pg_ts_dict.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-ts-config-map.html","source_path":"sources/postgresql/16/catalog-pg-ts-config-map.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_ts_config_map.h","definition_source_path":"sources/postgresql/16/source/pg_ts_config_map.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_ts_config_map catalog contains entries showing which text search dictionaries should be consulted, and in what order, for each output token type of each text search configuration's parser.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"mapcfg","type":"oid","description":"The OID of the pg_ts_config entry owning this map entry","references":"pg_ts_config.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"maptokentype","type":"integer","description":"A token type emitted by the configuration's parser","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapseqno","type":"integer","description":"Order in which to consult this entry (lower mapseqnos first)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapdict","type":"oid","description":"The OID of the text search dictionary to consult","references":"pg_ts_dict.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-ts-config-map.html","source_path":"sources/postgresql/17/catalog-pg-ts-config-map.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_ts_config_map.h","definition_source_path":"sources/postgresql/17/source/pg_ts_config_map.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_ts_config_map catalog contains entries showing which text search dictionaries should be consulted, and in what order, for each output token type of each text search configuration's parser.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"mapcfg","type":"oid","description":"The OID of the pg_ts_config entry owning this map entry","references":"pg_ts_config.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"maptokentype","type":"integer","description":"A token type emitted by the configuration's parser","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapseqno","type":"integer","description":"Order in which to consult this entry (lower mapseqnos first)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapdict","type":"oid","description":"The OID of the text search dictionary to consult","references":"pg_ts_dict.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-ts-config-map.html","source_path":"sources/postgresql/18/catalog-pg-ts-config-map.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_ts_config_map.h","definition_source_path":"sources/postgresql/18/source/pg_ts_config_map.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_ts_config_map catalog contains entries showing which text search dictionaries should be consulted, and in what order, for each output token type of each text search configuration's parser.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"mapcfg","type":"oid","description":"The OID of the pg_ts_config entry owning this map entry","references":"pg_ts_config.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"maptokentype","type":"integer","description":"A token type emitted by the configuration's parser","documented_type":"int4","hidden":false,"type_oid":23,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapseqno","type":"integer","description":"Order in which to consult this entry (lower mapseqnos first)","documented_type":"int4","hidden":false,"type_oid":23,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"mapdict","type":"oid","description":"The OID of the text search dictionary to consult","references":"pg_ts_dict.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-ts-config-map.html","source_path":"sources/postgresql/19/catalog-pg-ts-config-map.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_ts_config_map.h","definition_source_path":"sources/postgresql/19/source/pg_ts_config_map.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":3603,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[]},{"name":"pg_ts_dict","kind":"catalog","summary":"text search dictionaries","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The pg_ts_dict catalog contains entries defining text search dictionaries. A dictionary depends on a text search template, which specifies all the implementation functions needed; the dictionary itself provides values for the user-settable parameters supported by the template. This division of labor allows dictionaries to be created by unprivileged users. The parameters are specified by a text string dictinitoption, whose format and meaning vary depending on the template.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_ts_dict.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictname","type":"name","description":"Text search dictionary name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictnamespace","type":"oid","description":"The OID of the namespace that contains this dictionary","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictowner","type":"oid","description":"Owner of the dictionary","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dicttemplate","type":"oid","description":"The OID of the text search template for this dictionary","references":"pg_ts_template.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictinitoption","type":"text","description":"Initialization option string for the template","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-ts-dict.html","source_path":"sources/postgresql/9.0/catalog-pg-ts-dict.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_ts_dict.h","definition_source_path":"sources/postgresql/9.0/source/pg_ts_dict.h","source_column_count":6,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The pg_ts_dict catalog contains entries defining text search dictionaries. A dictionary depends on a text search template, which specifies all the implementation functions needed; the dictionary itself provides values for the user-settable parameters supported by the template. This division of labor allows dictionaries to be created by unprivileged users. The parameters are specified by a text string dictinitoption, whose format and meaning vary depending on the template.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_ts_dict.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictname","type":"name","description":"Text search dictionary name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictnamespace","type":"oid","description":"The OID of the namespace that contains this dictionary","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictowner","type":"oid","description":"Owner of the dictionary","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dicttemplate","type":"oid","description":"The OID of the text search template for this dictionary","references":"pg_ts_template.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictinitoption","type":"text","description":"Initialization option string for the template","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-ts-dict.html","source_path":"sources/postgresql/9.1/catalog-pg-ts-dict.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_ts_dict.h","definition_source_path":"sources/postgresql/9.1/source/pg_ts_dict.h","source_column_count":6,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The pg_ts_dict catalog contains entries defining text search dictionaries. A dictionary depends on a text search template, which specifies all the implementation functions needed; the dictionary itself provides values for the user-settable parameters supported by the template. This division of labor allows dictionaries to be created by unprivileged users. The parameters are specified by a text string dictinitoption, whose format and meaning vary depending on the template.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_ts_dict.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictname","type":"name","description":"Text search dictionary name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictnamespace","type":"oid","description":"The OID of the namespace that contains this dictionary","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictowner","type":"oid","description":"Owner of the dictionary","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dicttemplate","type":"oid","description":"The OID of the text search template for this dictionary","references":"pg_ts_template.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictinitoption","type":"text","description":"Initialization option string for the template","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-ts-dict.html","source_path":"sources/postgresql/9.2/catalog-pg-ts-dict.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_ts_dict.h","definition_source_path":"sources/postgresql/9.2/source/pg_ts_dict.h","source_column_count":6,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The pg_ts_dict catalog contains entries defining text search dictionaries. A dictionary depends on a text search template, which specifies all the implementation functions needed; the dictionary itself provides values for the user-settable parameters supported by the template. This division of labor allows dictionaries to be created by unprivileged users. The parameters are specified by a text string dictinitoption, whose format and meaning vary depending on the template.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictname","type":"name","description":"Text search dictionary name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictnamespace","type":"oid","description":"The OID of the namespace that contains this dictionary","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictowner","type":"oid","description":"Owner of the dictionary","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dicttemplate","type":"oid","description":"The OID of the text search template for this dictionary","references":"pg_ts_template.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictinitoption","type":"text","description":"Initialization option string for the template","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-ts-dict.html","source_path":"sources/postgresql/9.3/catalog-pg-ts-dict.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_ts_dict.h","definition_source_path":"sources/postgresql/9.3/source/pg_ts_dict.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The pg_ts_dict catalog contains entries defining text search dictionaries. A dictionary depends on a text search template, which specifies all the implementation functions needed; the dictionary itself provides values for the user-settable parameters supported by the template. This division of labor allows dictionaries to be created by unprivileged users. The parameters are specified by a text string dictinitoption, whose format and meaning vary depending on the template.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictname","type":"name","description":"Text search dictionary name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictnamespace","type":"oid","description":"The OID of the namespace that contains this dictionary","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictowner","type":"oid","description":"Owner of the dictionary","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dicttemplate","type":"oid","description":"The OID of the text search template for this dictionary","references":"pg_ts_template.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictinitoption","type":"text","description":"Initialization option string for the template","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-ts-dict.html","source_path":"sources/postgresql/9.4/catalog-pg-ts-dict.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_ts_dict.h","definition_source_path":"sources/postgresql/9.4/source/pg_ts_dict.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The pg_ts_dict catalog contains entries defining text search dictionaries. A dictionary depends on a text search template, which specifies all the implementation functions needed; the dictionary itself provides values for the user-settable parameters supported by the template. This division of labor allows dictionaries to be created by unprivileged users. The parameters are specified by a text string dictinitoption, whose format and meaning vary depending on the template.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictname","type":"name","description":"Text search dictionary name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictnamespace","type":"oid","description":"The OID of the namespace that contains this dictionary","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictowner","type":"oid","description":"Owner of the dictionary","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dicttemplate","type":"oid","description":"The OID of the text search template for this dictionary","references":"pg_ts_template.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictinitoption","type":"text","description":"Initialization option string for the template","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-ts-dict.html","source_path":"sources/postgresql/9.5/catalog-pg-ts-dict.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_ts_dict.h","definition_source_path":"sources/postgresql/9.5/source/pg_ts_dict.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The pg_ts_dict catalog contains entries defining text search dictionaries. A dictionary depends on a text search template, which specifies all the implementation functions needed; the dictionary itself provides values for the user-settable parameters supported by the template. This division of labor allows dictionaries to be created by unprivileged users. The parameters are specified by a text string dictinitoption, whose format and meaning vary depending on the template.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictname","type":"name","description":"Text search dictionary name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictnamespace","type":"oid","description":"The OID of the namespace that contains this dictionary","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictowner","type":"oid","description":"Owner of the dictionary","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dicttemplate","type":"oid","description":"The OID of the text search template for this dictionary","references":"pg_ts_template.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictinitoption","type":"text","description":"Initialization option string for the template","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-ts-dict.html","source_path":"sources/postgresql/9.6/catalog-pg-ts-dict.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_ts_dict.h","definition_source_path":"sources/postgresql/9.6/source/pg_ts_dict.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The pg_ts_dict catalog contains entries defining text search dictionaries. A dictionary depends on a text search template, which specifies all the implementation functions needed; the dictionary itself provides values for the user-settable parameters supported by the template. This division of labor allows dictionaries to be created by unprivileged users. The parameters are specified by a text string dictinitoption, whose format and meaning vary depending on the template.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictname","type":"name","description":"Text search dictionary name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictnamespace","type":"oid","description":"The OID of the namespace that contains this dictionary","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictowner","type":"oid","description":"Owner of the dictionary","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dicttemplate","type":"oid","description":"The OID of the text search template for this dictionary","references":"pg_ts_template.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictinitoption","type":"text","description":"Initialization option string for the template","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-ts-dict.html","source_path":"sources/postgresql/10/catalog-pg-ts-dict.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_ts_dict.h","definition_source_path":"sources/postgresql/10/source/pg_ts_dict.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The pg_ts_dict catalog contains entries defining text search dictionaries. A dictionary depends on a text search template, which specifies all the implementation functions needed; the dictionary itself provides values for the user-settable parameters supported by the template. This division of labor allows dictionaries to be created by unprivileged users. The parameters are specified by a text string dictinitoption, whose format and meaning vary depending on the template.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictname","type":"name","description":"Text search dictionary name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictnamespace","type":"oid","description":"The OID of the namespace that contains this dictionary","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictowner","type":"oid","description":"Owner of the dictionary","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dicttemplate","type":"oid","description":"The OID of the text search template for this dictionary","references":"pg_ts_template.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictinitoption","type":"text","description":"Initialization option string for the template","hidden":false,"type_oid":25,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-ts-dict.html","source_path":"sources/postgresql/11/catalog-pg-ts-dict.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_ts_dict.h","definition_source_path":"sources/postgresql/11/source/pg_ts_dict.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The pg_ts_dict catalog contains entries defining text search dictionaries. A dictionary depends on a text search template, which specifies all the implementation functions needed; the dictionary itself provides values for the user-settable parameters supported by the template. This division of labor allows dictionaries to be created by unprivileged users. The parameters are specified by a text string dictinitoption, whose format and meaning vary depending on the template.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictname","type":"name","description":"Text search dictionary name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictnamespace","type":"oid","description":"The OID of the namespace that contains this dictionary","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictowner","type":"oid","description":"Owner of the dictionary","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dicttemplate","type":"oid","description":"The OID of the text search template for this dictionary","references":"pg_ts_template.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictinitoption","type":"text","description":"Initialization option string for the template","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-ts-dict.html","source_path":"sources/postgresql/12/catalog-pg-ts-dict.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_ts_dict.h","definition_source_path":"sources/postgresql/12/source/pg_ts_dict.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_ts_dict catalog contains entries defining text search dictionaries. A dictionary depends on a text search template, which specifies all the implementation functions needed; the dictionary itself provides values for the user-settable parameters supported by the template. This division of labor allows dictionaries to be created by unprivileged users. The parameters are specified by a text string dictinitoption, whose format and meaning vary depending on the template.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictname","type":"name","description":"Text search dictionary name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictnamespace","type":"oid","description":"The OID of the namespace that contains this dictionary","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictowner","type":"oid","description":"Owner of the dictionary","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dicttemplate","type":"oid","description":"The OID of the text search template for this dictionary","references":"pg_ts_template.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictinitoption","type":"text","description":"Initialization option string for the template","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-ts-dict.html","source_path":"sources/postgresql/13/catalog-pg-ts-dict.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_ts_dict.h","definition_source_path":"sources/postgresql/13/source/pg_ts_dict.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_ts_dict catalog contains entries defining text search dictionaries. A dictionary depends on a text search template, which specifies all the implementation functions needed; the dictionary itself provides values for the user-settable parameters supported by the template. This division of labor allows dictionaries to be created by unprivileged users. The parameters are specified by a text string dictinitoption, whose format and meaning vary depending on the template.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictname","type":"name","description":"Text search dictionary name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictnamespace","type":"oid","description":"The OID of the namespace that contains this dictionary","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictowner","type":"oid","description":"Owner of the dictionary","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dicttemplate","type":"oid","description":"The OID of the text search template for this dictionary","references":"pg_ts_template.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictinitoption","type":"text","description":"Initialization option string for the template","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-ts-dict.html","source_path":"sources/postgresql/14/catalog-pg-ts-dict.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_ts_dict.h","definition_source_path":"sources/postgresql/14/source/pg_ts_dict.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_ts_dict catalog contains entries defining text search dictionaries. A dictionary depends on a text search template, which specifies all the implementation functions needed; the dictionary itself provides values for the user-settable parameters supported by the template. This division of labor allows dictionaries to be created by unprivileged users. The parameters are specified by a text string dictinitoption, whose format and meaning vary depending on the template.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictname","type":"name","description":"Text search dictionary name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictnamespace","type":"oid","description":"The OID of the namespace that contains this dictionary","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictowner","type":"oid","description":"Owner of the dictionary","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dicttemplate","type":"oid","description":"The OID of the text search template for this dictionary","references":"pg_ts_template.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictinitoption","type":"text","description":"Initialization option string for the template","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-ts-dict.html","source_path":"sources/postgresql/15/catalog-pg-ts-dict.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_ts_dict.h","definition_source_path":"sources/postgresql/15/source/pg_ts_dict.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_ts_dict catalog contains entries defining text search dictionaries. A dictionary depends on a text search template, which specifies all the implementation functions needed; the dictionary itself provides values for the user-settable parameters supported by the template. This division of labor allows dictionaries to be created by unprivileged users. The parameters are specified by a text string dictinitoption, whose format and meaning vary depending on the template.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictname","type":"name","description":"Text search dictionary name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictnamespace","type":"oid","description":"The OID of the namespace that contains this dictionary","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictowner","type":"oid","description":"Owner of the dictionary","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dicttemplate","type":"oid","description":"The OID of the text search template for this dictionary","references":"pg_ts_template.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictinitoption","type":"text","description":"Initialization option string for the template","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-ts-dict.html","source_path":"sources/postgresql/16/catalog-pg-ts-dict.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_ts_dict.h","definition_source_path":"sources/postgresql/16/source/pg_ts_dict.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_ts_dict catalog contains entries defining text search dictionaries. A dictionary depends on a text search template, which specifies all the implementation functions needed; the dictionary itself provides values for the user-settable parameters supported by the template. This division of labor allows dictionaries to be created by unprivileged users. The parameters are specified by a text string dictinitoption, whose format and meaning vary depending on the template.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictname","type":"name","description":"Text search dictionary name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictnamespace","type":"oid","description":"The OID of the namespace that contains this dictionary","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictowner","type":"oid","description":"Owner of the dictionary","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dicttemplate","type":"oid","description":"The OID of the text search template for this dictionary","references":"pg_ts_template.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictinitoption","type":"text","description":"Initialization option string for the template","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-ts-dict.html","source_path":"sources/postgresql/17/catalog-pg-ts-dict.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_ts_dict.h","definition_source_path":"sources/postgresql/17/source/pg_ts_dict.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_ts_dict catalog contains entries defining text search dictionaries. A dictionary depends on a text search template, which specifies all the implementation functions needed; the dictionary itself provides values for the user-settable parameters supported by the template. This division of labor allows dictionaries to be created by unprivileged users. The parameters are specified by a text string dictinitoption, whose format and meaning vary depending on the template.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictname","type":"name","description":"Text search dictionary name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictnamespace","type":"oid","description":"The OID of the namespace that contains this dictionary","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictowner","type":"oid","description":"Owner of the dictionary","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dicttemplate","type":"oid","description":"The OID of the text search template for this dictionary","references":"pg_ts_template.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictinitoption","type":"text","description":"Initialization option string for the template","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-ts-dict.html","source_path":"sources/postgresql/18/catalog-pg-ts-dict.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_ts_dict.h","definition_source_path":"sources/postgresql/18/source/pg_ts_dict.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_ts_dict catalog contains entries defining text search dictionaries. A dictionary depends on a text search template, which specifies all the implementation functions needed; the dictionary itself provides values for the user-settable parameters supported by the template. This division of labor allows dictionaries to be created by unprivileged users. The parameters are specified by a text string dictinitoption, whose format and meaning vary depending on the template.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictname","type":"name","description":"Text search dictionary name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictnamespace","type":"oid","description":"The OID of the namespace that contains this dictionary","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictowner","type":"oid","description":"Owner of the dictionary","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dicttemplate","type":"oid","description":"The OID of the text search template for this dictionary","references":"pg_ts_template.oid","hidden":false,"type_oid":26,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"dictinitoption","type":"text","description":"Initialization option string for the template","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-ts-dict.html","source_path":"sources/postgresql/19/catalog-pg-ts-dict.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_ts_dict.h","definition_source_path":"sources/postgresql/19/source/pg_ts_dict.h","source_column_count":6,"documentary_schema_source":"documentation","relation_oid":3600,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true}]},{"name":"pg_ts_parser","kind":"catalog","summary":"text search parsers","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The pg_ts_parser catalog contains entries defining text search parsers. A parser is responsible for splitting input text into lexemes and assigning a token type to each lexeme. Since a parser must be implemented by C-language-level functions, creation of new parsers is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_ts_parser.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsname","type":"name","description":"Text search parser name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsnamespace","type":"oid","description":"The OID of the namespace that contains this parser","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsstart","type":"regproc","description":"OID of the parser's startup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prstoken","type":"regproc","description":"OID of the parser's next-token function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsend","type":"regproc","description":"OID of the parser's shutdown function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsheadline","type":"regproc","description":"OID of the parser's headline function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prslextype","type":"regproc","description":"OID of the parser's lextype function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-ts-parser.html","source_path":"sources/postgresql/9.0/catalog-pg-ts-parser.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_ts_parser.h","definition_source_path":"sources/postgresql/9.0/source/pg_ts_parser.h","source_column_count":8,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The pg_ts_parser catalog contains entries defining text search parsers. A parser is responsible for splitting input text into lexemes and assigning a token type to each lexeme. Since a parser must be implemented by C-language-level functions, creation of new parsers is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_ts_parser.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsname","type":"name","description":"Text search parser name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsnamespace","type":"oid","description":"The OID of the namespace that contains this parser","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsstart","type":"regproc","description":"OID of the parser's startup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prstoken","type":"regproc","description":"OID of the parser's next-token function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsend","type":"regproc","description":"OID of the parser's shutdown function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsheadline","type":"regproc","description":"OID of the parser's headline function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prslextype","type":"regproc","description":"OID of the parser's lextype function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-ts-parser.html","source_path":"sources/postgresql/9.1/catalog-pg-ts-parser.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_ts_parser.h","definition_source_path":"sources/postgresql/9.1/source/pg_ts_parser.h","source_column_count":8,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The pg_ts_parser catalog contains entries defining text search parsers. A parser is responsible for splitting input text into lexemes and assigning a token type to each lexeme. Since a parser must be implemented by C-language-level functions, creation of new parsers is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_ts_parser.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsname","type":"name","description":"Text search parser name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsnamespace","type":"oid","description":"The OID of the namespace that contains this parser","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsstart","type":"regproc","description":"OID of the parser's startup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prstoken","type":"regproc","description":"OID of the parser's next-token function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsend","type":"regproc","description":"OID of the parser's shutdown function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsheadline","type":"regproc","description":"OID of the parser's headline function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prslextype","type":"regproc","description":"OID of the parser's lextype function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-ts-parser.html","source_path":"sources/postgresql/9.2/catalog-pg-ts-parser.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_ts_parser.h","definition_source_path":"sources/postgresql/9.2/source/pg_ts_parser.h","source_column_count":8,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The pg_ts_parser catalog contains entries defining text search parsers. A parser is responsible for splitting input text into lexemes and assigning a token type to each lexeme. Since a parser must be implemented by C-language-level functions, creation of new parsers is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsname","type":"name","description":"Text search parser name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsnamespace","type":"oid","description":"The OID of the namespace that contains this parser","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsstart","type":"regproc","description":"OID of the parser's startup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prstoken","type":"regproc","description":"OID of the parser's next-token function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsend","type":"regproc","description":"OID of the parser's shutdown function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsheadline","type":"regproc","description":"OID of the parser's headline function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prslextype","type":"regproc","description":"OID of the parser's lextype function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-ts-parser.html","source_path":"sources/postgresql/9.3/catalog-pg-ts-parser.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_ts_parser.h","definition_source_path":"sources/postgresql/9.3/source/pg_ts_parser.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The pg_ts_parser catalog contains entries defining text search parsers. A parser is responsible for splitting input text into lexemes and assigning a token type to each lexeme. Since a parser must be implemented by C-language-level functions, creation of new parsers is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsname","type":"name","description":"Text search parser name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsnamespace","type":"oid","description":"The OID of the namespace that contains this parser","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsstart","type":"regproc","description":"OID of the parser's startup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prstoken","type":"regproc","description":"OID of the parser's next-token function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsend","type":"regproc","description":"OID of the parser's shutdown function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsheadline","type":"regproc","description":"OID of the parser's headline function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prslextype","type":"regproc","description":"OID of the parser's lextype function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-ts-parser.html","source_path":"sources/postgresql/9.4/catalog-pg-ts-parser.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_ts_parser.h","definition_source_path":"sources/postgresql/9.4/source/pg_ts_parser.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The pg_ts_parser catalog contains entries defining text search parsers. A parser is responsible for splitting input text into lexemes and assigning a token type to each lexeme. Since a parser must be implemented by C-language-level functions, creation of new parsers is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsname","type":"name","description":"Text search parser name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsnamespace","type":"oid","description":"The OID of the namespace that contains this parser","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsstart","type":"regproc","description":"OID of the parser's startup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prstoken","type":"regproc","description":"OID of the parser's next-token function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsend","type":"regproc","description":"OID of the parser's shutdown function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsheadline","type":"regproc","description":"OID of the parser's headline function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prslextype","type":"regproc","description":"OID of the parser's lextype function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-ts-parser.html","source_path":"sources/postgresql/9.5/catalog-pg-ts-parser.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_ts_parser.h","definition_source_path":"sources/postgresql/9.5/source/pg_ts_parser.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The pg_ts_parser catalog contains entries defining text search parsers. A parser is responsible for splitting input text into lexemes and assigning a token type to each lexeme. Since a parser must be implemented by C-language-level functions, creation of new parsers is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsname","type":"name","description":"Text search parser name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsnamespace","type":"oid","description":"The OID of the namespace that contains this parser","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsstart","type":"regproc","description":"OID of the parser's startup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prstoken","type":"regproc","description":"OID of the parser's next-token function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsend","type":"regproc","description":"OID of the parser's shutdown function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsheadline","type":"regproc","description":"OID of the parser's headline function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prslextype","type":"regproc","description":"OID of the parser's lextype function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-ts-parser.html","source_path":"sources/postgresql/9.6/catalog-pg-ts-parser.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_ts_parser.h","definition_source_path":"sources/postgresql/9.6/source/pg_ts_parser.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The pg_ts_parser catalog contains entries defining text search parsers. A parser is responsible for splitting input text into lexemes and assigning a token type to each lexeme. Since a parser must be implemented by C-language-level functions, creation of new parsers is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsname","type":"name","description":"Text search parser name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsnamespace","type":"oid","description":"The OID of the namespace that contains this parser","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsstart","type":"regproc","description":"OID of the parser's startup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prstoken","type":"regproc","description":"OID of the parser's next-token function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsend","type":"regproc","description":"OID of the parser's shutdown function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsheadline","type":"regproc","description":"OID of the parser's headline function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prslextype","type":"regproc","description":"OID of the parser's lextype function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-ts-parser.html","source_path":"sources/postgresql/10/catalog-pg-ts-parser.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_ts_parser.h","definition_source_path":"sources/postgresql/10/source/pg_ts_parser.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The pg_ts_parser catalog contains entries defining text search parsers. A parser is responsible for splitting input text into lexemes and assigning a token type to each lexeme. Since a parser must be implemented by C-language-level functions, creation of new parsers is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsname","type":"name","description":"Text search parser name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsnamespace","type":"oid","description":"The OID of the namespace that contains this parser","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsstart","type":"regproc","description":"OID of the parser's startup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prstoken","type":"regproc","description":"OID of the parser's next-token function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsend","type":"regproc","description":"OID of the parser's shutdown function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsheadline","type":"regproc","description":"OID of the parser's headline function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prslextype","type":"regproc","description":"OID of the parser's lextype function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-ts-parser.html","source_path":"sources/postgresql/11/catalog-pg-ts-parser.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_ts_parser.h","definition_source_path":"sources/postgresql/11/source/pg_ts_parser.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The pg_ts_parser catalog contains entries defining text search parsers. A parser is responsible for splitting input text into lexemes and assigning a token type to each lexeme. Since a parser must be implemented by C-language-level functions, creation of new parsers is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsname","type":"name","description":"Text search parser name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsnamespace","type":"oid","description":"The OID of the namespace that contains this parser","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsstart","type":"regproc","description":"OID of the parser's startup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prstoken","type":"regproc","description":"OID of the parser's next-token function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsend","type":"regproc","description":"OID of the parser's shutdown function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsheadline","type":"regproc","description":"OID of the parser's headline function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prslextype","type":"regproc","description":"OID of the parser's lextype function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-ts-parser.html","source_path":"sources/postgresql/12/catalog-pg-ts-parser.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_ts_parser.h","definition_source_path":"sources/postgresql/12/source/pg_ts_parser.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_ts_parser catalog contains entries defining text search parsers. A parser is responsible for splitting input text into lexemes and assigning a token type to each lexeme. Since a parser must be implemented by C-language-level functions, creation of new parsers is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsname","type":"name","description":"Text search parser name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsnamespace","type":"oid","description":"The OID of the namespace that contains this parser","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsstart","type":"regproc","description":"OID of the parser's startup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prstoken","type":"regproc","description":"OID of the parser's next-token function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsend","type":"regproc","description":"OID of the parser's shutdown function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsheadline","type":"regproc","description":"OID of the parser's headline function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prslextype","type":"regproc","description":"OID of the parser's lextype function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-ts-parser.html","source_path":"sources/postgresql/13/catalog-pg-ts-parser.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_ts_parser.h","definition_source_path":"sources/postgresql/13/source/pg_ts_parser.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_ts_parser catalog contains entries defining text search parsers. A parser is responsible for splitting input text into lexemes and assigning a token type to each lexeme. Since a parser must be implemented by C-language-level functions, creation of new parsers is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsname","type":"name","description":"Text search parser name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsnamespace","type":"oid","description":"The OID of the namespace that contains this parser","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsstart","type":"regproc","description":"OID of the parser's startup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prstoken","type":"regproc","description":"OID of the parser's next-token function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsend","type":"regproc","description":"OID of the parser's shutdown function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsheadline","type":"regproc","description":"OID of the parser's headline function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prslextype","type":"regproc","description":"OID of the parser's lextype function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-ts-parser.html","source_path":"sources/postgresql/14/catalog-pg-ts-parser.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_ts_parser.h","definition_source_path":"sources/postgresql/14/source/pg_ts_parser.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_ts_parser catalog contains entries defining text search parsers. A parser is responsible for splitting input text into lexemes and assigning a token type to each lexeme. Since a parser must be implemented by C-language-level functions, creation of new parsers is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsname","type":"name","description":"Text search parser name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsnamespace","type":"oid","description":"The OID of the namespace that contains this parser","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsstart","type":"regproc","description":"OID of the parser's startup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prstoken","type":"regproc","description":"OID of the parser's next-token function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsend","type":"regproc","description":"OID of the parser's shutdown function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsheadline","type":"regproc","description":"OID of the parser's headline function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prslextype","type":"regproc","description":"OID of the parser's lextype function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-ts-parser.html","source_path":"sources/postgresql/15/catalog-pg-ts-parser.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_ts_parser.h","definition_source_path":"sources/postgresql/15/source/pg_ts_parser.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_ts_parser catalog contains entries defining text search parsers. A parser is responsible for splitting input text into lexemes and assigning a token type to each lexeme. Since a parser must be implemented by C-language-level functions, creation of new parsers is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsname","type":"name","description":"Text search parser name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsnamespace","type":"oid","description":"The OID of the namespace that contains this parser","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsstart","type":"regproc","description":"OID of the parser's startup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prstoken","type":"regproc","description":"OID of the parser's next-token function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsend","type":"regproc","description":"OID of the parser's shutdown function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsheadline","type":"regproc","description":"OID of the parser's headline function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prslextype","type":"regproc","description":"OID of the parser's lextype function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-ts-parser.html","source_path":"sources/postgresql/16/catalog-pg-ts-parser.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_ts_parser.h","definition_source_path":"sources/postgresql/16/source/pg_ts_parser.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_ts_parser catalog contains entries defining text search parsers. A parser is responsible for splitting input text into lexemes and assigning a token type to each lexeme. Since a parser must be implemented by C-language-level functions, creation of new parsers is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsname","type":"name","description":"Text search parser name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsnamespace","type":"oid","description":"The OID of the namespace that contains this parser","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsstart","type":"regproc","description":"OID of the parser's startup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prstoken","type":"regproc","description":"OID of the parser's next-token function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsend","type":"regproc","description":"OID of the parser's shutdown function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsheadline","type":"regproc","description":"OID of the parser's headline function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prslextype","type":"regproc","description":"OID of the parser's lextype function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-ts-parser.html","source_path":"sources/postgresql/17/catalog-pg-ts-parser.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_ts_parser.h","definition_source_path":"sources/postgresql/17/source/pg_ts_parser.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_ts_parser catalog contains entries defining text search parsers. A parser is responsible for splitting input text into lexemes and assigning a token type to each lexeme. Since a parser must be implemented by C-language-level functions, creation of new parsers is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsname","type":"name","description":"Text search parser name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsnamespace","type":"oid","description":"The OID of the namespace that contains this parser","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsstart","type":"regproc","description":"OID of the parser's startup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prstoken","type":"regproc","description":"OID of the parser's next-token function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsend","type":"regproc","description":"OID of the parser's shutdown function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsheadline","type":"regproc","description":"OID of the parser's headline function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prslextype","type":"regproc","description":"OID of the parser's lextype function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-ts-parser.html","source_path":"sources/postgresql/18/catalog-pg-ts-parser.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_ts_parser.h","definition_source_path":"sources/postgresql/18/source/pg_ts_parser.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_ts_parser catalog contains entries defining text search parsers. A parser is responsible for splitting input text into lexemes and assigning a token type to each lexeme. Since a parser must be implemented by C-language-level functions, creation of new parsers is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsname","type":"name","description":"Text search parser name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsnamespace","type":"oid","description":"The OID of the namespace that contains this parser","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsstart","type":"regproc","description":"OID of the parser's startup function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prstoken","type":"regproc","description":"OID of the parser's next-token function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsend","type":"regproc","description":"OID of the parser's shutdown function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prsheadline","type":"regproc","description":"OID of the parser's headline function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"prslextype","type":"regproc","description":"OID of the parser's lextype function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-ts-parser.html","source_path":"sources/postgresql/19/catalog-pg-ts-parser.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_ts_parser.h","definition_source_path":"sources/postgresql/19/source/pg_ts_parser.h","source_column_count":8,"documentary_schema_source":"documentation","relation_oid":3601,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"prsheadline","from":"OID of the parser's headline function","to":"OID of the parser's headline function (zero if none)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_ts_template","kind":"catalog","summary":"text search templates","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The pg_ts_template catalog contains entries defining text search templates. A template is the implementation skeleton for a class of text search dictionaries. Since a template must be implemented by C-language-level functions, creation of new templates is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_ts_template.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplname","type":"name","description":"Text search template name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplnamespace","type":"oid","description":"The OID of the namespace that contains this template","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinit","type":"regproc","description":"OID of the template's initialization function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpllexize","type":"regproc","description":"OID of the template's lexize function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-ts-template.html","source_path":"sources/postgresql/9.0/catalog-pg-ts-template.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_ts_template.h","definition_source_path":"sources/postgresql/9.0/source/pg_ts_template.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3764,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The pg_ts_template catalog contains entries defining text search templates. A template is the implementation skeleton for a class of text search dictionaries. Since a template must be implemented by C-language-level functions, creation of new templates is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_ts_template.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplname","type":"name","description":"Text search template name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplnamespace","type":"oid","description":"The OID of the namespace that contains this template","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinit","type":"regproc","description":"OID of the template's initialization function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpllexize","type":"regproc","description":"OID of the template's lexize function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-ts-template.html","source_path":"sources/postgresql/9.1/catalog-pg-ts-template.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_ts_template.h","definition_source_path":"sources/postgresql/9.1/source/pg_ts_template.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3764,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The pg_ts_template catalog contains entries defining text search templates. A template is the implementation skeleton for a class of text search dictionaries. Since a template must be implemented by C-language-level functions, creation of new templates is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_ts_template.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplname","type":"name","description":"Text search template name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplnamespace","type":"oid","description":"The OID of the namespace that contains this template","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinit","type":"regproc","description":"OID of the template's initialization function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpllexize","type":"regproc","description":"OID of the template's lexize function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-ts-template.html","source_path":"sources/postgresql/9.2/catalog-pg-ts-template.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_ts_template.h","definition_source_path":"sources/postgresql/9.2/source/pg_ts_template.h","source_column_count":5,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":3764,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The pg_ts_template catalog contains entries defining text search templates. A template is the implementation skeleton for a class of text search dictionaries. Since a template must be implemented by C-language-level functions, creation of new templates is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplname","type":"name","description":"Text search template name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplnamespace","type":"oid","description":"The OID of the namespace that contains this template","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinit","type":"regproc","description":"OID of the template's initialization function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpllexize","type":"regproc","description":"OID of the template's lexize function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-ts-template.html","source_path":"sources/postgresql/9.3/catalog-pg-ts-template.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_ts_template.h","definition_source_path":"sources/postgresql/9.3/source/pg_ts_template.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3764,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The pg_ts_template catalog contains entries defining text search templates. A template is the implementation skeleton for a class of text search dictionaries. Since a template must be implemented by C-language-level functions, creation of new templates is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplname","type":"name","description":"Text search template name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplnamespace","type":"oid","description":"The OID of the namespace that contains this template","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinit","type":"regproc","description":"OID of the template's initialization function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpllexize","type":"regproc","description":"OID of the template's lexize function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-ts-template.html","source_path":"sources/postgresql/9.4/catalog-pg-ts-template.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_ts_template.h","definition_source_path":"sources/postgresql/9.4/source/pg_ts_template.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3764,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The pg_ts_template catalog contains entries defining text search templates. A template is the implementation skeleton for a class of text search dictionaries. Since a template must be implemented by C-language-level functions, creation of new templates is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplname","type":"name","description":"Text search template name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplnamespace","type":"oid","description":"The OID of the namespace that contains this template","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinit","type":"regproc","description":"OID of the template's initialization function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpllexize","type":"regproc","description":"OID of the template's lexize function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-ts-template.html","source_path":"sources/postgresql/9.5/catalog-pg-ts-template.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_ts_template.h","definition_source_path":"sources/postgresql/9.5/source/pg_ts_template.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3764,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The pg_ts_template catalog contains entries defining text search templates. A template is the implementation skeleton for a class of text search dictionaries. Since a template must be implemented by C-language-level functions, creation of new templates is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplname","type":"name","description":"Text search template name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplnamespace","type":"oid","description":"The OID of the namespace that contains this template","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinit","type":"regproc","description":"OID of the template's initialization function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpllexize","type":"regproc","description":"OID of the template's lexize function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-ts-template.html","source_path":"sources/postgresql/9.6/catalog-pg-ts-template.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_ts_template.h","definition_source_path":"sources/postgresql/9.6/source/pg_ts_template.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3764,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The pg_ts_template catalog contains entries defining text search templates. A template is the implementation skeleton for a class of text search dictionaries. Since a template must be implemented by C-language-level functions, creation of new templates is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplname","type":"name","description":"Text search template name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplnamespace","type":"oid","description":"The OID of the namespace that contains this template","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinit","type":"regproc","description":"OID of the template's initialization function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpllexize","type":"regproc","description":"OID of the template's lexize function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-ts-template.html","source_path":"sources/postgresql/10/catalog-pg-ts-template.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_ts_template.h","definition_source_path":"sources/postgresql/10/source/pg_ts_template.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3764,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The pg_ts_template catalog contains entries defining text search templates. A template is the implementation skeleton for a class of text search dictionaries. Since a template must be implemented by C-language-level functions, creation of new templates is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplname","type":"name","description":"Text search template name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplnamespace","type":"oid","description":"The OID of the namespace that contains this template","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinit","type":"regproc","description":"OID of the template's initialization function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpllexize","type":"regproc","description":"OID of the template's lexize function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-ts-template.html","source_path":"sources/postgresql/11/catalog-pg-ts-template.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_ts_template.h","definition_source_path":"sources/postgresql/11/source/pg_ts_template.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3764,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The pg_ts_template catalog contains entries defining text search templates. A template is the implementation skeleton for a class of text search dictionaries. Since a template must be implemented by C-language-level functions, creation of new templates is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplname","type":"name","description":"Text search template name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplnamespace","type":"oid","description":"The OID of the namespace that contains this template","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinit","type":"regproc","description":"OID of the template's initialization function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpllexize","type":"regproc","description":"OID of the template's lexize function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-ts-template.html","source_path":"sources/postgresql/12/catalog-pg-ts-template.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_ts_template.h","definition_source_path":"sources/postgresql/12/source/pg_ts_template.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3764,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The pg_ts_template catalog contains entries defining text search templates. A template is the implementation skeleton for a class of text search dictionaries. Since a template must be implemented by C-language-level functions, creation of new templates is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplname","type":"name","description":"Text search template name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplnamespace","type":"oid","description":"The OID of the namespace that contains this template","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinit","type":"regproc","description":"OID of the template's initialization function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpllexize","type":"regproc","description":"OID of the template's lexize function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-ts-template.html","source_path":"sources/postgresql/13/catalog-pg-ts-template.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_ts_template.h","definition_source_path":"sources/postgresql/13/source/pg_ts_template.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3764,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The pg_ts_template catalog contains entries defining text search templates. A template is the implementation skeleton for a class of text search dictionaries. Since a template must be implemented by C-language-level functions, creation of new templates is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplname","type":"name","description":"Text search template name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplnamespace","type":"oid","description":"The OID of the namespace that contains this template","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinit","type":"regproc","description":"OID of the template's initialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpllexize","type":"regproc","description":"OID of the template's lexize function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-ts-template.html","source_path":"sources/postgresql/14/catalog-pg-ts-template.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_ts_template.h","definition_source_path":"sources/postgresql/14/source/pg_ts_template.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3764,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The pg_ts_template catalog contains entries defining text search templates. A template is the implementation skeleton for a class of text search dictionaries. Since a template must be implemented by C-language-level functions, creation of new templates is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplname","type":"name","description":"Text search template name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplnamespace","type":"oid","description":"The OID of the namespace that contains this template","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinit","type":"regproc","description":"OID of the template's initialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpllexize","type":"regproc","description":"OID of the template's lexize function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-ts-template.html","source_path":"sources/postgresql/15/catalog-pg-ts-template.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_ts_template.h","definition_source_path":"sources/postgresql/15/source/pg_ts_template.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3764,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The pg_ts_template catalog contains entries defining text search templates. A template is the implementation skeleton for a class of text search dictionaries. Since a template must be implemented by C-language-level functions, creation of new templates is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplname","type":"name","description":"Text search template name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplnamespace","type":"oid","description":"The OID of the namespace that contains this template","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinit","type":"regproc","description":"OID of the template's initialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpllexize","type":"regproc","description":"OID of the template's lexize function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-ts-template.html","source_path":"sources/postgresql/16/catalog-pg-ts-template.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_ts_template.h","definition_source_path":"sources/postgresql/16/source/pg_ts_template.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3764,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The pg_ts_template catalog contains entries defining text search templates. A template is the implementation skeleton for a class of text search dictionaries. Since a template must be implemented by C-language-level functions, creation of new templates is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplname","type":"name","description":"Text search template name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplnamespace","type":"oid","description":"The OID of the namespace that contains this template","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinit","type":"regproc","description":"OID of the template's initialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpllexize","type":"regproc","description":"OID of the template's lexize function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-ts-template.html","source_path":"sources/postgresql/17/catalog-pg-ts-template.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_ts_template.h","definition_source_path":"sources/postgresql/17/source/pg_ts_template.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3764,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The pg_ts_template catalog contains entries defining text search templates. A template is the implementation skeleton for a class of text search dictionaries. Since a template must be implemented by C-language-level functions, creation of new templates is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplname","type":"name","description":"Text search template name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplnamespace","type":"oid","description":"The OID of the namespace that contains this template","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinit","type":"regproc","description":"OID of the template's initialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpllexize","type":"regproc","description":"OID of the template's lexize function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-ts-template.html","source_path":"sources/postgresql/18/catalog-pg-ts-template.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_ts_template.h","definition_source_path":"sources/postgresql/18/source/pg_ts_template.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3764,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The pg_ts_template catalog contains entries defining text search templates. A template is the implementation skeleton for a class of text search dictionaries. Since a template must be implemented by C-language-level functions, creation of new templates is restricted to database superusers.\n\nPostgreSQL's text search features are described at length in Chapter 12.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplname","type":"name","description":"Text search template name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplnamespace","type":"oid","description":"The OID of the namespace that contains this template","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmplinit","type":"regproc","description":"OID of the template's initialization function (zero if none)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"tmpllexize","type":"regproc","description":"OID of the template's lexize function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-ts-template.html","source_path":"sources/postgresql/19/catalog-pg-ts-template.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_ts_template.h","definition_source_path":"sources/postgresql/19/source/pg_ts_template.h","source_column_count":5,"documentary_schema_source":"documentation","relation_oid":3764,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"tmplinit","from":"OID of the template's initialization function","to":"OID of the template's initialization function (zero if none)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_type","kind":"catalog","summary":"data types","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with CREATE TYPE, and domains with CREATE DOMAIN. A composite type is automatically created for each table in the database, to represent the row structure of the table. It is also possible to create composite types with CREATE TYPE AS.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_type.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typname","type":"name","description":"Data type name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnamespace","type":"oid","description":"The OID of the namespace that contains this type","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typowner","type":"oid","description":"Owner of the type","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typlen","type":"smallint","description":"For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a \"varlena\" type (one that has a length word), -2 indicates a null-terminated C string.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbyval","type":"boolean","description":"typbyval determines whether internal routines pass a value of this type by value or by reference. typbyval had better be false if typlen is not 1, 2, or 4 (or 8 on machines where Datum is 8 bytes). Variable-length types are always passed by reference. Note that typbyval can be false even if the length would allow pass-by-value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtype","type":"\"char\"","description":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, or p for a pseudo-type. See also typrelid and typbasetype.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcategory","type":"\"char\"","description":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be \"preferred\". See Table 45-45.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typispreferred","type":"boolean","description":"True if the type is a preferred cast target within its typcategory","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typisdefined","type":"boolean","description":"True if the type is defined, false if this is a placeholder entry for a not-yet-defined type. When typisdefined is false, nothing except the type name, namespace, and OID can be relied on.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdelim","type":"\"char\"","description":"Character that separates two values of this type when parsing array input. Note that the delimiter is associated with the array element data type, not the array data type.","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typrelid","type":"oid","description":"If this is a composite type (see typtype), then this column points to the pg_class entry that defines the corresponding table. (For a free-standing composite type, the pg_class entry doesn't really represent a table, but it is needed anyway for the type's pg_attribute entries to link to.) Zero for non-composite types.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typelem","type":"oid","description":"If typelem is not 0 then it identifies another row in pg_type. The current type can then be subscripted like an array yielding values of type typelem. A \"true\" array type is variable length (typlen = -1), but some fixed-length (typlen > 0) types also have nonzero typelem, for example name and point. If a fixed-length type has a typelem then its internal representation must be some number of values of the typelem data type with no other data. Variable-length array types have a header defined by the array subroutines.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typarray","type":"oid","description":"If typarray is not 0 then it identifies another row in pg_type, which is the \"true\" array type having this type as element","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typinput","type":"regproc","description":"Input conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typoutput","type":"regproc","description":"Output conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typreceive","type":"regproc","description":"Input conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsend","type":"regproc","description":"Output conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodin","type":"regproc","description":"Type modifier input function, or 0 if type does not support modifiers","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodout","type":"regproc","description":"Type modifier output function, or 0 to use the standard format","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typanalyze","type":"regproc","description":"Custom ANALYZE function, or 0 to use the standard function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typalign","type":"\"char\"","description":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are: c = char alignment, i.e., no alignment needed. s = short alignment (2 bytes on most machines). i = int alignment (4 bytes on most machines). d = double alignment (8 bytes on many machines, but by no means all). Note: For types used in system tables, it is critical that the size and alignment defined in pg_type agree with the way that the compiler will lay out the column in a structure representing a table row.","documented_type":"char","hidden":false,"type_oid":18,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typstorage","type":"\"char\"","description":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are p: Value must always be stored plain. e: Value can be stored in a \"secondary\" relation (if relation has one, see pg_class.reltoastrelid). m: Value can be stored compressed inline. x: Value can be stored compressed inline or stored in \"secondary\" storage. Note that m columns can also be moved out to secondary storage, but only as a last resort (e and x columns are moved first).","documented_type":"char","hidden":false,"type_oid":18,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnotnull","type":"boolean","description":"typnotnull represents a not-null constraint on a type. Used for domains only.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbasetype","type":"oid","description":"If this is a domain (see typtype), then typbasetype identifies the type that this one is based on. Zero if this type is not a domain.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtypmod","type":"integer","description":"Domains use typtypmod to record the typmod to be applied to their base type (-1 if base type does not use a typmod). -1 if this type is not a domain.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typndims","type":"integer","description":"typndims is the number of array dimensions for a domain that is an array (that is, typbasetype is an array type; the domain's typelem will match the base type's typelem). Zero for types other than domains over array types.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdefaultbin","type":"text","description":"If typdefaultbin is not null, it is the nodeToString() representation of a default expression for the type. This is only used for domains.","hidden":false,"type_oid":25,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typdefault","type":"text","description":"typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which might be fed to the type's input converter to produce a constant.","hidden":false,"type_oid":25,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-type.html","source_path":"sources/postgresql/9.0/catalog-pg-type.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_type.h","definition_source_path":"sources/postgresql/9.0/source/pg_type.h","source_column_count":29,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1247,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with CREATE TYPE, and domains with CREATE DOMAIN. A composite type is automatically created for each table in the database, to represent the row structure of the table. It is also possible to create composite types with CREATE TYPE AS.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_type.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typname","type":"name","description":"Data type name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnamespace","type":"oid","description":"The OID of the namespace that contains this type","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typowner","type":"oid","description":"Owner of the type","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typlen","type":"smallint","description":"For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a \"varlena\" type (one that has a length word), -2 indicates a null-terminated C string.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbyval","type":"boolean","description":"typbyval determines whether internal routines pass a value of this type by value or by reference. typbyval had better be false if typlen is not 1, 2, or 4 (or 8 on machines where Datum is 8 bytes). Variable-length types are always passed by reference. Note that typbyval can be false even if the length would allow pass-by-value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtype","type":"\"char\"","description":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, or p for a pseudo-type. See also typrelid and typbasetype.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcategory","type":"\"char\"","description":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be \"preferred\". See Table 45-49.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typispreferred","type":"boolean","description":"True if the type is a preferred cast target within its typcategory","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typisdefined","type":"boolean","description":"True if the type is defined, false if this is a placeholder entry for a not-yet-defined type. When typisdefined is false, nothing except the type name, namespace, and OID can be relied on.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdelim","type":"\"char\"","description":"Character that separates two values of this type when parsing array input. Note that the delimiter is associated with the array element data type, not the array data type.","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typrelid","type":"oid","description":"If this is a composite type (see typtype), then this column points to the pg_class entry that defines the corresponding table. (For a free-standing composite type, the pg_class entry doesn't really represent a table, but it is needed anyway for the type's pg_attribute entries to link to.) Zero for non-composite types.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typelem","type":"oid","description":"If typelem is not 0 then it identifies another row in pg_type. The current type can then be subscripted like an array yielding values of type typelem. A \"true\" array type is variable length (typlen = -1), but some fixed-length (typlen > 0) types also have nonzero typelem, for example name and point. If a fixed-length type has a typelem then its internal representation must be some number of values of the typelem data type with no other data. Variable-length array types have a header defined by the array subroutines.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typarray","type":"oid","description":"If typarray is not 0 then it identifies another row in pg_type, which is the \"true\" array type having this type as element","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typinput","type":"regproc","description":"Input conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typoutput","type":"regproc","description":"Output conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typreceive","type":"regproc","description":"Input conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsend","type":"regproc","description":"Output conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodin","type":"regproc","description":"Type modifier input function, or 0 if type does not support modifiers","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodout","type":"regproc","description":"Type modifier output function, or 0 to use the standard format","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typanalyze","type":"regproc","description":"Custom ANALYZE function, or 0 to use the standard function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typalign","type":"\"char\"","description":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are: c = char alignment, i.e., no alignment needed. s = short alignment (2 bytes on most machines). i = int alignment (4 bytes on most machines). d = double alignment (8 bytes on many machines, but by no means all). Note: For types used in system tables, it is critical that the size and alignment defined in pg_type agree with the way that the compiler will lay out the column in a structure representing a table row.","documented_type":"char","hidden":false,"type_oid":18,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typstorage","type":"\"char\"","description":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are p: Value must always be stored plain. e: Value can be stored in a \"secondary\" relation (if relation has one, see pg_class.reltoastrelid). m: Value can be stored compressed inline. x: Value can be stored compressed inline or stored in \"secondary\" storage. Note that m columns can also be moved out to secondary storage, but only as a last resort (e and x columns are moved first).","documented_type":"char","hidden":false,"type_oid":18,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnotnull","type":"boolean","description":"typnotnull represents a not-null constraint on a type. Used for domains only.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbasetype","type":"oid","description":"If this is a domain (see typtype), then typbasetype identifies the type that this one is based on. Zero if this type is not a domain.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtypmod","type":"integer","description":"Domains use typtypmod to record the typmod to be applied to their base type (-1 if base type does not use a typmod). -1 if this type is not a domain.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typndims","type":"integer","description":"typndims is the number of array dimensions for a domain over an array (that is, typbasetype is an array type). Zero for types other than domains over array types.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcollation","type":"oid","description":"typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have DEFAULT_COLLATION_OID here. A domain over a collatable type can have some other collation OID, if one was specified for the domain.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdefaultbin","type":"pg_node_tree","description":"If typdefaultbin is not null, it is the nodeToString() representation of a default expression for the type. This is only used for domains.","hidden":false,"type_oid":194,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typdefault","type":"text","description":"typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which can be fed to the type's input converter to produce a constant.","hidden":false,"type_oid":25,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-type.html","source_path":"sources/postgresql/9.1/catalog-pg-type.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_type.h","definition_source_path":"sources/postgresql/9.1/source/pg_type.h","source_column_count":30,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1247,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with CREATE TYPE, and domains with CREATE DOMAIN. A composite type is automatically created for each table in the database, to represent the row structure of the table. It is also possible to create composite types with CREATE TYPE AS.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_type.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typname","type":"name","description":"Data type name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnamespace","type":"oid","description":"The OID of the namespace that contains this type","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typowner","type":"oid","description":"Owner of the type","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typlen","type":"smallint","description":"For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a \"varlena\" type (one that has a length word), -2 indicates a null-terminated C string.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbyval","type":"boolean","description":"typbyval determines whether internal routines pass a value of this type by value or by reference. typbyval had better be false if typlen is not 1, 2, or 4 (or 8 on machines where Datum is 8 bytes). Variable-length types are always passed by reference. Note that typbyval can be false even if the length would allow pass-by-value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtype","type":"\"char\"","description":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, or r for a range type. See also typrelid and typbasetype.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcategory","type":"\"char\"","description":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be \"preferred\". See Table 45-51.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typispreferred","type":"boolean","description":"True if the type is a preferred cast target within its typcategory","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typisdefined","type":"boolean","description":"True if the type is defined, false if this is a placeholder entry for a not-yet-defined type. When typisdefined is false, nothing except the type name, namespace, and OID can be relied on.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdelim","type":"\"char\"","description":"Character that separates two values of this type when parsing array input. Note that the delimiter is associated with the array element data type, not the array data type.","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typrelid","type":"oid","description":"If this is a composite type (see typtype), then this column points to the pg_class entry that defines the corresponding table. (For a free-standing composite type, the pg_class entry doesn't really represent a table, but it is needed anyway for the type's pg_attribute entries to link to.) Zero for non-composite types.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typelem","type":"oid","description":"If typelem is not 0 then it identifies another row in pg_type. The current type can then be subscripted like an array yielding values of type typelem. A \"true\" array type is variable length (typlen = -1), but some fixed-length (typlen > 0) types also have nonzero typelem, for example name and point. If a fixed-length type has a typelem then its internal representation must be some number of values of the typelem data type with no other data. Variable-length array types have a header defined by the array subroutines.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typarray","type":"oid","description":"If typarray is not 0 then it identifies another row in pg_type, which is the \"true\" array type having this type as element","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typinput","type":"regproc","description":"Input conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typoutput","type":"regproc","description":"Output conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typreceive","type":"regproc","description":"Input conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsend","type":"regproc","description":"Output conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodin","type":"regproc","description":"Type modifier input function, or 0 if type does not support modifiers","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodout","type":"regproc","description":"Type modifier output function, or 0 to use the standard format","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typanalyze","type":"regproc","description":"Custom ANALYZE function, or 0 to use the standard function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typalign","type":"\"char\"","description":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are: c = char alignment, i.e., no alignment needed. s = short alignment (2 bytes on most machines). i = int alignment (4 bytes on most machines). d = double alignment (8 bytes on many machines, but by no means all). Note: For types used in system tables, it is critical that the size and alignment defined in pg_type agree with the way that the compiler will lay out the column in a structure representing a table row.","documented_type":"char","hidden":false,"type_oid":18,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typstorage","type":"\"char\"","description":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are p: Value must always be stored plain. e: Value can be stored in a \"secondary\" relation (if relation has one, see pg_class.reltoastrelid). m: Value can be stored compressed inline. x: Value can be stored compressed inline or stored in \"secondary\" storage. Note that m columns can also be moved out to secondary storage, but only as a last resort (e and x columns are moved first).","documented_type":"char","hidden":false,"type_oid":18,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnotnull","type":"boolean","description":"typnotnull represents a not-null constraint on a type. Used for domains only.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbasetype","type":"oid","description":"If this is a domain (see typtype), then typbasetype identifies the type that this one is based on. Zero if this type is not a domain.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtypmod","type":"integer","description":"Domains use typtypmod to record the typmod to be applied to their base type (-1 if base type does not use a typmod). -1 if this type is not a domain.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typndims","type":"integer","description":"typndims is the number of array dimensions for a domain over an array (that is, typbasetype is an array type). Zero for types other than domains over array types.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcollation","type":"oid","description":"typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have DEFAULT_COLLATION_OID here. A domain over a collatable type can have some other collation OID, if one was specified for the domain.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdefaultbin","type":"pg_node_tree","description":"If typdefaultbin is not null, it is the nodeToString() representation of a default expression for the type. This is only used for domains.","hidden":false,"type_oid":194,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typdefault","type":"text","description":"typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which can be fed to the type's input converter to produce a constant.","hidden":false,"type_oid":25,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":30,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-type.html","source_path":"sources/postgresql/9.2/catalog-pg-type.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_type.h","definition_source_path":"sources/postgresql/9.2/source/pg_type.h","source_column_count":31,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1247,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with CREATE TYPE, and domains with CREATE DOMAIN. A composite type is automatically created for each table in the database, to represent the row structure of the table. It is also possible to create composite types with CREATE TYPE AS.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typname","type":"name","description":"Data type name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnamespace","type":"oid","description":"The OID of the namespace that contains this type","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typowner","type":"oid","description":"Owner of the type","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typlen","type":"smallint","description":"For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a \"varlena\" type (one that has a length word), -2 indicates a null-terminated C string.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbyval","type":"boolean","description":"typbyval determines whether internal routines pass a value of this type by value or by reference. typbyval had better be false if typlen is not 1, 2, or 4 (or 8 on machines where Datum is 8 bytes). Variable-length types are always passed by reference. Note that typbyval can be false even if the length would allow pass-by-value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtype","type":"\"char\"","description":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, or r for a range type. See also typrelid and typbasetype.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcategory","type":"\"char\"","description":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be \"preferred\". See Table 47-52.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typispreferred","type":"boolean","description":"True if the type is a preferred cast target within its typcategory","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typisdefined","type":"boolean","description":"True if the type is defined, false if this is a placeholder entry for a not-yet-defined type. When typisdefined is false, nothing except the type name, namespace, and OID can be relied on.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdelim","type":"\"char\"","description":"Character that separates two values of this type when parsing array input. Note that the delimiter is associated with the array element data type, not the array data type.","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typrelid","type":"oid","description":"If this is a composite type (see typtype), then this column points to the pg_class entry that defines the corresponding table. (For a free-standing composite type, the pg_class entry doesn't really represent a table, but it is needed anyway for the type's pg_attribute entries to link to.) Zero for non-composite types.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typelem","type":"oid","description":"If typelem is not 0 then it identifies another row in pg_type. The current type can then be subscripted like an array yielding values of type typelem. A \"true\" array type is variable length (typlen = -1), but some fixed-length (typlen > 0) types also have nonzero typelem, for example name and point. If a fixed-length type has a typelem then its internal representation must be some number of values of the typelem data type with no other data. Variable-length array types have a header defined by the array subroutines.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typarray","type":"oid","description":"If typarray is not 0 then it identifies another row in pg_type, which is the \"true\" array type having this type as element","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typinput","type":"regproc","description":"Input conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typoutput","type":"regproc","description":"Output conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typreceive","type":"regproc","description":"Input conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsend","type":"regproc","description":"Output conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodin","type":"regproc","description":"Type modifier input function, or 0 if type does not support modifiers","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodout","type":"regproc","description":"Type modifier output function, or 0 to use the standard format","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typanalyze","type":"regproc","description":"Custom ANALYZE function, or 0 to use the standard function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typalign","type":"\"char\"","description":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are: c = char alignment, i.e., no alignment needed. s = short alignment (2 bytes on most machines). i = int alignment (4 bytes on most machines). d = double alignment (8 bytes on many machines, but by no means all). Note: For types used in system tables, it is critical that the size and alignment defined in pg_type agree with the way that the compiler will lay out the column in a structure representing a table row.","documented_type":"char","hidden":false,"type_oid":18,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typstorage","type":"\"char\"","description":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are p: Value must always be stored plain. e: Value can be stored in a \"secondary\" relation (if relation has one, see pg_class.reltoastrelid). m: Value can be stored compressed inline. x: Value can be stored compressed inline or stored in \"secondary\" storage. Note that m columns can also be moved out to secondary storage, but only as a last resort (e and x columns are moved first).","documented_type":"char","hidden":false,"type_oid":18,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnotnull","type":"boolean","description":"typnotnull represents a not-null constraint on a type. Used for domains only.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbasetype","type":"oid","description":"If this is a domain (see typtype), then typbasetype identifies the type that this one is based on. Zero if this type is not a domain.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtypmod","type":"integer","description":"Domains use typtypmod to record the typmod to be applied to their base type (-1 if base type does not use a typmod). -1 if this type is not a domain.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typndims","type":"integer","description":"typndims is the number of array dimensions for a domain over an array (that is, typbasetype is an array type). Zero for types other than domains over array types.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcollation","type":"oid","description":"typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have DEFAULT_COLLATION_OID here. A domain over a collatable type can have some other collation OID, if one was specified for the domain.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdefaultbin","type":"pg_node_tree","description":"If typdefaultbin is not null, it is the nodeToString() representation of a default expression for the type. This is only used for domains.","hidden":false,"type_oid":194,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typdefault","type":"text","description":"typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which can be fed to the type's input converter to produce a constant.","hidden":false,"type_oid":25,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":30,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-type.html","source_path":"sources/postgresql/9.3/catalog-pg-type.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_type.h","definition_source_path":"sources/postgresql/9.3/source/pg_type.h","source_column_count":31,"documentary_schema_source":"documentation","relation_oid":1247,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with CREATE TYPE, and domains with CREATE DOMAIN. A composite type is automatically created for each table in the database, to represent the row structure of the table. It is also possible to create composite types with CREATE TYPE AS.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typname","type":"name","description":"Data type name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnamespace","type":"oid","description":"The OID of the namespace that contains this type","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typowner","type":"oid","description":"Owner of the type","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typlen","type":"smallint","description":"For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a \"varlena\" type (one that has a length word), -2 indicates a null-terminated C string.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbyval","type":"boolean","description":"typbyval determines whether internal routines pass a value of this type by value or by reference. typbyval had better be false if typlen is not 1, 2, or 4 (or 8 on machines where Datum is 8 bytes). Variable-length types are always passed by reference. Note that typbyval can be false even if the length would allow pass-by-value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtype","type":"\"char\"","description":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, or r for a range type. See also typrelid and typbasetype.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcategory","type":"\"char\"","description":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be \"preferred\". See Table 48-53.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typispreferred","type":"boolean","description":"True if the type is a preferred cast target within its typcategory","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typisdefined","type":"boolean","description":"True if the type is defined, false if this is a placeholder entry for a not-yet-defined type. When typisdefined is false, nothing except the type name, namespace, and OID can be relied on.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdelim","type":"\"char\"","description":"Character that separates two values of this type when parsing array input. Note that the delimiter is associated with the array element data type, not the array data type.","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typrelid","type":"oid","description":"If this is a composite type (see typtype), then this column points to the pg_class entry that defines the corresponding table. (For a free-standing composite type, the pg_class entry doesn't really represent a table, but it is needed anyway for the type's pg_attribute entries to link to.) Zero for non-composite types.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typelem","type":"oid","description":"If typelem is not 0 then it identifies another row in pg_type. The current type can then be subscripted like an array yielding values of type typelem. A \"true\" array type is variable length (typlen = -1), but some fixed-length (typlen > 0) types also have nonzero typelem, for example name and point. If a fixed-length type has a typelem then its internal representation must be some number of values of the typelem data type with no other data. Variable-length array types have a header defined by the array subroutines.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typarray","type":"oid","description":"If typarray is not 0 then it identifies another row in pg_type, which is the \"true\" array type having this type as element","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typinput","type":"regproc","description":"Input conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typoutput","type":"regproc","description":"Output conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typreceive","type":"regproc","description":"Input conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsend","type":"regproc","description":"Output conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodin","type":"regproc","description":"Type modifier input function, or 0 if type does not support modifiers","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodout","type":"regproc","description":"Type modifier output function, or 0 to use the standard format","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typanalyze","type":"regproc","description":"Custom ANALYZE function, or 0 to use the standard function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typalign","type":"\"char\"","description":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are: c = char alignment, i.e., no alignment needed. s = short alignment (2 bytes on most machines). i = int alignment (4 bytes on most machines). d = double alignment (8 bytes on many machines, but by no means all). Note: For types used in system tables, it is critical that the size and alignment defined in pg_type agree with the way that the compiler will lay out the column in a structure representing a table row.","documented_type":"char","hidden":false,"type_oid":18,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typstorage","type":"\"char\"","description":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are p: Value must always be stored plain. e: Value can be stored in a \"secondary\" relation (if relation has one, see pg_class.reltoastrelid). m: Value can be stored compressed inline. x: Value can be stored compressed inline or stored in \"secondary\" storage. Note that m columns can also be moved out to secondary storage, but only as a last resort (e and x columns are moved first).","documented_type":"char","hidden":false,"type_oid":18,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnotnull","type":"boolean","description":"typnotnull represents a not-null constraint on a type. Used for domains only.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbasetype","type":"oid","description":"If this is a domain (see typtype), then typbasetype identifies the type that this one is based on. Zero if this type is not a domain.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtypmod","type":"integer","description":"Domains use typtypmod to record the typmod to be applied to their base type (-1 if base type does not use a typmod). -1 if this type is not a domain.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typndims","type":"integer","description":"typndims is the number of array dimensions for a domain over an array (that is, typbasetype is an array type). Zero for types other than domains over array types.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcollation","type":"oid","description":"typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have DEFAULT_COLLATION_OID here. A domain over a collatable type can have some other collation OID, if one was specified for the domain.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdefaultbin","type":"pg_node_tree","description":"If typdefaultbin is not null, it is the nodeToString() representation of a default expression for the type. This is only used for domains.","hidden":false,"type_oid":194,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typdefault","type":"text","description":"typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which can be fed to the type's input converter to produce a constant.","hidden":false,"type_oid":25,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":30,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-type.html","source_path":"sources/postgresql/9.4/catalog-pg-type.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_type.h","definition_source_path":"sources/postgresql/9.4/source/pg_type.h","source_column_count":31,"documentary_schema_source":"documentation","relation_oid":1247,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with CREATE TYPE, and domains with CREATE DOMAIN. A composite type is automatically created for each table in the database, to represent the row structure of the table. It is also possible to create composite types with CREATE TYPE AS.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typname","type":"name","description":"Data type name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnamespace","type":"oid","description":"The OID of the namespace that contains this type","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typowner","type":"oid","description":"Owner of the type","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typlen","type":"smallint","description":"For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a \"varlena\" type (one that has a length word), -2 indicates a null-terminated C string.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbyval","type":"boolean","description":"typbyval determines whether internal routines pass a value of this type by value or by reference. typbyval had better be false if typlen is not 1, 2, or 4 (or 8 on machines where Datum is 8 bytes). Variable-length types are always passed by reference. Note that typbyval can be false even if the length would allow pass-by-value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtype","type":"\"char\"","description":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, or r for a range type. See also typrelid and typbasetype.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcategory","type":"\"char\"","description":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be \"preferred\". See Table 49-55.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typispreferred","type":"boolean","description":"True if the type is a preferred cast target within its typcategory","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typisdefined","type":"boolean","description":"True if the type is defined, false if this is a placeholder entry for a not-yet-defined type. When typisdefined is false, nothing except the type name, namespace, and OID can be relied on.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdelim","type":"\"char\"","description":"Character that separates two values of this type when parsing array input. Note that the delimiter is associated with the array element data type, not the array data type.","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typrelid","type":"oid","description":"If this is a composite type (see typtype), then this column points to the pg_class entry that defines the corresponding table. (For a free-standing composite type, the pg_class entry doesn't really represent a table, but it is needed anyway for the type's pg_attribute entries to link to.) Zero for non-composite types.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typelem","type":"oid","description":"If typelem is not 0 then it identifies another row in pg_type. The current type can then be subscripted like an array yielding values of type typelem. A \"true\" array type is variable length (typlen = -1), but some fixed-length (typlen > 0) types also have nonzero typelem, for example name and point. If a fixed-length type has a typelem then its internal representation must be some number of values of the typelem data type with no other data. Variable-length array types have a header defined by the array subroutines.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typarray","type":"oid","description":"If typarray is not 0 then it identifies another row in pg_type, which is the \"true\" array type having this type as element","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typinput","type":"regproc","description":"Input conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typoutput","type":"regproc","description":"Output conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typreceive","type":"regproc","description":"Input conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsend","type":"regproc","description":"Output conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodin","type":"regproc","description":"Type modifier input function, or 0 if type does not support modifiers","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodout","type":"regproc","description":"Type modifier output function, or 0 to use the standard format","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typanalyze","type":"regproc","description":"Custom ANALYZE function, or 0 to use the standard function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typalign","type":"\"char\"","description":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are: c = char alignment, i.e., no alignment needed. s = short alignment (2 bytes on most machines). i = int alignment (4 bytes on most machines). d = double alignment (8 bytes on many machines, but by no means all). Note: For types used in system tables, it is critical that the size and alignment defined in pg_type agree with the way that the compiler will lay out the column in a structure representing a table row.","documented_type":"char","hidden":false,"type_oid":18,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typstorage","type":"\"char\"","description":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are p: Value must always be stored plain. e: Value can be stored in a \"secondary\" relation (if relation has one, see pg_class.reltoastrelid). m: Value can be stored compressed inline. x: Value can be stored compressed inline or stored in \"secondary\" storage. Note that m columns can also be moved out to secondary storage, but only as a last resort (e and x columns are moved first).","documented_type":"char","hidden":false,"type_oid":18,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnotnull","type":"boolean","description":"typnotnull represents a not-null constraint on a type. Used for domains only.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbasetype","type":"oid","description":"If this is a domain (see typtype), then typbasetype identifies the type that this one is based on. Zero if this type is not a domain.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtypmod","type":"integer","description":"Domains use typtypmod to record the typmod to be applied to their base type (-1 if base type does not use a typmod). -1 if this type is not a domain.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typndims","type":"integer","description":"typndims is the number of array dimensions for a domain over an array (that is, typbasetype is an array type). Zero for types other than domains over array types.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcollation","type":"oid","description":"typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have DEFAULT_COLLATION_OID here. A domain over a collatable type can have some other collation OID, if one was specified for the domain.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdefaultbin","type":"pg_node_tree","description":"If typdefaultbin is not null, it is the nodeToString() representation of a default expression for the type. This is only used for domains.","hidden":false,"type_oid":194,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typdefault","type":"text","description":"typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which can be fed to the type's input converter to produce a constant.","hidden":false,"type_oid":25,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":30,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-type.html","source_path":"sources/postgresql/9.5/catalog-pg-type.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_type.h","definition_source_path":"sources/postgresql/9.5/source/pg_type.h","source_column_count":31,"documentary_schema_source":"documentation","relation_oid":1247,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with CREATE TYPE, and domains with CREATE DOMAIN. A composite type is automatically created for each table in the database, to represent the row structure of the table. It is also possible to create composite types with CREATE TYPE AS.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typname","type":"name","description":"Data type name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnamespace","type":"oid","description":"The OID of the namespace that contains this type","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typowner","type":"oid","description":"Owner of the type","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typlen","type":"smallint","description":"For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a \"varlena\" type (one that has a length word), -2 indicates a null-terminated C string.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbyval","type":"boolean","description":"typbyval determines whether internal routines pass a value of this type by value or by reference. typbyval had better be false if typlen is not 1, 2, or 4 (or 8 on machines where Datum is 8 bytes). Variable-length types are always passed by reference. Note that typbyval can be false even if the length would allow pass-by-value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtype","type":"\"char\"","description":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, or r for a range type. See also typrelid and typbasetype.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcategory","type":"\"char\"","description":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be \"preferred\". See Table 50-56.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typispreferred","type":"boolean","description":"True if the type is a preferred cast target within its typcategory","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typisdefined","type":"boolean","description":"True if the type is defined, false if this is a placeholder entry for a not-yet-defined type. When typisdefined is false, nothing except the type name, namespace, and OID can be relied on.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdelim","type":"\"char\"","description":"Character that separates two values of this type when parsing array input. Note that the delimiter is associated with the array element data type, not the array data type.","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typrelid","type":"oid","description":"If this is a composite type (see typtype), then this column points to the pg_class entry that defines the corresponding table. (For a free-standing composite type, the pg_class entry doesn't really represent a table, but it is needed anyway for the type's pg_attribute entries to link to.) Zero for non-composite types.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typelem","type":"oid","description":"If typelem is not 0 then it identifies another row in pg_type. The current type can then be subscripted like an array yielding values of type typelem. A \"true\" array type is variable length (typlen = -1), but some fixed-length (typlen > 0) types also have nonzero typelem, for example name and point. If a fixed-length type has a typelem then its internal representation must be some number of values of the typelem data type with no other data. Variable-length array types have a header defined by the array subroutines.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typarray","type":"oid","description":"If typarray is not 0 then it identifies another row in pg_type, which is the \"true\" array type having this type as element","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typinput","type":"regproc","description":"Input conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typoutput","type":"regproc","description":"Output conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typreceive","type":"regproc","description":"Input conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsend","type":"regproc","description":"Output conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodin","type":"regproc","description":"Type modifier input function, or 0 if type does not support modifiers","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodout","type":"regproc","description":"Type modifier output function, or 0 to use the standard format","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typanalyze","type":"regproc","description":"Custom ANALYZE function, or 0 to use the standard function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typalign","type":"\"char\"","description":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are: c = char alignment, i.e., no alignment needed. s = short alignment (2 bytes on most machines). i = int alignment (4 bytes on most machines). d = double alignment (8 bytes on many machines, but by no means all). Note: For types used in system tables, it is critical that the size and alignment defined in pg_type agree with the way that the compiler will lay out the column in a structure representing a table row.","documented_type":"char","hidden":false,"type_oid":18,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typstorage","type":"\"char\"","description":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are p: Value must always be stored plain. e: Value can be stored in a \"secondary\" relation (if relation has one, see pg_class.reltoastrelid). m: Value can be stored compressed inline. x: Value can be stored compressed inline or stored in \"secondary\" storage. Note that m columns can also be moved out to secondary storage, but only as a last resort (e and x columns are moved first).","documented_type":"char","hidden":false,"type_oid":18,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnotnull","type":"boolean","description":"typnotnull represents a not-null constraint on a type. Used for domains only.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbasetype","type":"oid","description":"If this is a domain (see typtype), then typbasetype identifies the type that this one is based on. Zero if this type is not a domain.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtypmod","type":"integer","description":"Domains use typtypmod to record the typmod to be applied to their base type (-1 if base type does not use a typmod). -1 if this type is not a domain.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typndims","type":"integer","description":"typndims is the number of array dimensions for a domain over an array (that is, typbasetype is an array type). Zero for types other than domains over array types.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcollation","type":"oid","description":"typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have DEFAULT_COLLATION_OID here. A domain over a collatable type can have some other collation OID, if one was specified for the domain.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdefaultbin","type":"pg_node_tree","description":"If typdefaultbin is not null, it is the nodeToString() representation of a default expression for the type. This is only used for domains.","hidden":false,"type_oid":194,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typdefault","type":"text","description":"typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which can be fed to the type's input converter to produce a constant.","hidden":false,"type_oid":25,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":30,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-type.html","source_path":"sources/postgresql/9.6/catalog-pg-type.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_type.h","definition_source_path":"sources/postgresql/9.6/source/pg_type.h","source_column_count":31,"documentary_schema_source":"documentation","relation_oid":1247,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with CREATE TYPE, and domains with CREATE DOMAIN. A composite type is automatically created for each table in the database, to represent the row structure of the table. It is also possible to create composite types with CREATE TYPE AS.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typname","type":"name","description":"Data type name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnamespace","type":"oid","description":"The OID of the namespace that contains this type","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typowner","type":"oid","description":"Owner of the type","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typlen","type":"smallint","description":"For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a “varlena” type (one that has a length word), -2 indicates a null-terminated C string.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbyval","type":"boolean","description":"typbyval determines whether internal routines pass a value of this type by value or by reference. typbyval had better be false if typlen is not 1, 2, or 4 (or 8 on machines where Datum is 8 bytes). Variable-length types are always passed by reference. Note that typbyval can be false even if the length would allow pass-by-value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtype","type":"\"char\"","description":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, or r for a range type. See also typrelid and typbasetype.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcategory","type":"\"char\"","description":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 51.63.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typispreferred","type":"boolean","description":"True if the type is a preferred cast target within its typcategory","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typisdefined","type":"boolean","description":"True if the type is defined, false if this is a placeholder entry for a not-yet-defined type. When typisdefined is false, nothing except the type name, namespace, and OID can be relied on.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdelim","type":"\"char\"","description":"Character that separates two values of this type when parsing array input. Note that the delimiter is associated with the array element data type, not the array data type.","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typrelid","type":"oid","description":"If this is a composite type (see typtype), then this column points to the pg_class entry that defines the corresponding table. (For a free-standing composite type, the pg_class entry doesn't really represent a table, but it is needed anyway for the type's pg_attribute entries to link to.) Zero for non-composite types.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typelem","type":"oid","description":"If typelem is not 0 then it identifies another row in pg_type. The current type can then be subscripted like an array yielding values of type typelem. A “true” array type is variable length (typlen = -1), but some fixed-length (typlen > 0) types also have nonzero typelem, for example name and point. If a fixed-length type has a typelem then its internal representation must be some number of values of the typelem data type with no other data. Variable-length array types have a header defined by the array subroutines.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typarray","type":"oid","description":"If typarray is not 0 then it identifies another row in pg_type, which is the “true” array type having this type as element","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typinput","type":"regproc","description":"Input conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typoutput","type":"regproc","description":"Output conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typreceive","type":"regproc","description":"Input conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsend","type":"regproc","description":"Output conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodin","type":"regproc","description":"Type modifier input function, or 0 if type does not support modifiers","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodout","type":"regproc","description":"Type modifier output function, or 0 to use the standard format","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typanalyze","type":"regproc","description":"Custom ANALYZE function, or 0 to use the standard function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typalign","type":"\"char\"","description":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are: c = char alignment, i.e., no alignment needed. s = short alignment (2 bytes on most machines). i = int alignment (4 bytes on most machines). d = double alignment (8 bytes on many machines, but by no means all). Note For types used in system tables, it is critical that the size and alignment defined in pg_type agree with the way that the compiler will lay out the column in a structure representing a table row.","documented_type":"char","hidden":false,"type_oid":18,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typstorage","type":"\"char\"","description":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are p: Value must always be stored plain. e: Value can be stored in a “secondary” relation (if relation has one, see pg_class.reltoastrelid). m: Value can be stored compressed inline. x: Value can be stored compressed inline or stored in “secondary” storage. Note that m columns can also be moved out to secondary storage, but only as a last resort (e and x columns are moved first).","documented_type":"char","hidden":false,"type_oid":18,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnotnull","type":"boolean","description":"typnotnull represents a not-null constraint on a type. Used for domains only.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbasetype","type":"oid","description":"If this is a domain (see typtype), then typbasetype identifies the type that this one is based on. Zero if this type is not a domain.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtypmod","type":"integer","description":"Domains use typtypmod to record the typmod to be applied to their base type (-1 if base type does not use a typmod). -1 if this type is not a domain.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typndims","type":"integer","description":"typndims is the number of array dimensions for a domain over an array (that is, typbasetype is an array type). Zero for types other than domains over array types.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcollation","type":"oid","description":"typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have DEFAULT_COLLATION_OID here. A domain over a collatable type can have some other collation OID, if one was specified for the domain.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdefaultbin","type":"pg_node_tree","description":"If typdefaultbin is not null, it is the nodeToString() representation of a default expression for the type. This is only used for domains.","hidden":false,"type_oid":194,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typdefault","type":"text","description":"typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which can be fed to the type's input converter to produce a constant.","hidden":false,"type_oid":25,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":30,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-type.html","source_path":"sources/postgresql/10/catalog-pg-type.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_type.h","definition_source_path":"sources/postgresql/10/source/pg_type.h","source_column_count":31,"documentary_schema_source":"documentation","relation_oid":1247,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with CREATE TYPE, and domains with CREATE DOMAIN. A composite type is automatically created for each table in the database, to represent the row structure of the table. It is also possible to create composite types with CREATE TYPE AS.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typname","type":"name","description":"Data type name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnamespace","type":"oid","description":"The OID of the namespace that contains this type","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typowner","type":"oid","description":"Owner of the type","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typlen","type":"smallint","description":"For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a “varlena” type (one that has a length word), -2 indicates a null-terminated C string.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbyval","type":"boolean","description":"typbyval determines whether internal routines pass a value of this type by value or by reference. typbyval had better be false if typlen is not 1, 2, or 4 (or 8 on machines where Datum is 8 bytes). Variable-length types are always passed by reference. Note that typbyval can be false even if the length would allow pass-by-value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtype","type":"\"char\"","description":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, or r for a range type. See also typrelid and typbasetype.","documented_type":"char","hidden":false,"type_oid":18,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcategory","type":"\"char\"","description":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 52.63.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typispreferred","type":"boolean","description":"True if the type is a preferred cast target within its typcategory","documented_type":"bool","hidden":false,"type_oid":16,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typisdefined","type":"boolean","description":"True if the type is defined, false if this is a placeholder entry for a not-yet-defined type. When typisdefined is false, nothing except the type name, namespace, and OID can be relied on.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdelim","type":"\"char\"","description":"Character that separates two values of this type when parsing array input. Note that the delimiter is associated with the array element data type, not the array data type.","documented_type":"char","hidden":false,"type_oid":18,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typrelid","type":"oid","description":"If this is a composite type (see typtype), then this column points to the pg_class entry that defines the corresponding table. (For a free-standing composite type, the pg_class entry doesn't really represent a table, but it is needed anyway for the type's pg_attribute entries to link to.) Zero for non-composite types.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typelem","type":"oid","description":"If typelem is not 0 then it identifies another row in pg_type. The current type can then be subscripted like an array yielding values of type typelem. A “true” array type is variable length (typlen = -1), but some fixed-length (typlen > 0) types also have nonzero typelem, for example name and point. If a fixed-length type has a typelem then its internal representation must be some number of values of the typelem data type with no other data. Variable-length array types have a header defined by the array subroutines.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typarray","type":"oid","description":"If typarray is not 0 then it identifies another row in pg_type, which is the “true” array type having this type as element","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typinput","type":"regproc","description":"Input conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typoutput","type":"regproc","description":"Output conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typreceive","type":"regproc","description":"Input conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsend","type":"regproc","description":"Output conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodin","type":"regproc","description":"Type modifier input function, or 0 if type does not support modifiers","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodout","type":"regproc","description":"Type modifier output function, or 0 to use the standard format","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typanalyze","type":"regproc","description":"Custom ANALYZE function, or 0 to use the standard function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typalign","type":"\"char\"","description":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are: c = char alignment, i.e., no alignment needed. s = short alignment (2 bytes on most machines). i = int alignment (4 bytes on most machines). d = double alignment (8 bytes on many machines, but by no means all). Note For types used in system tables, it is critical that the size and alignment defined in pg_type agree with the way that the compiler will lay out the column in a structure representing a table row.","documented_type":"char","hidden":false,"type_oid":18,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typstorage","type":"\"char\"","description":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are p: Value must always be stored plain. e: Value can be stored in a “secondary” relation (if relation has one, see pg_class.reltoastrelid). m: Value can be stored compressed inline. x: Value can be stored compressed inline or stored in “secondary” storage. Note that m columns can also be moved out to secondary storage, but only as a last resort (e and x columns are moved first).","documented_type":"char","hidden":false,"type_oid":18,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnotnull","type":"boolean","description":"typnotnull represents a not-null constraint on a type. Used for domains only.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbasetype","type":"oid","description":"If this is a domain (see typtype), then typbasetype identifies the type that this one is based on. Zero if this type is not a domain.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtypmod","type":"integer","description":"Domains use typtypmod to record the typmod to be applied to their base type (-1 if base type does not use a typmod). -1 if this type is not a domain.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typndims","type":"integer","description":"typndims is the number of array dimensions for a domain over an array (that is, typbasetype is an array type). Zero for types other than domains over array types.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcollation","type":"oid","description":"typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have DEFAULT_COLLATION_OID here. A domain over a collatable type can have some other collation OID, if one was specified for the domain.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdefaultbin","type":"pg_node_tree","description":"If typdefaultbin is not null, it is the nodeToString() representation of a default expression for the type. This is only used for domains.","hidden":false,"type_oid":194,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typdefault","type":"text","description":"typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which can be fed to the type's input converter to produce a constant.","hidden":false,"type_oid":25,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":30,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-type.html","source_path":"sources/postgresql/11/catalog-pg-type.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_type.h","definition_source_path":"sources/postgresql/11/source/pg_type.h","source_column_count":31,"documentary_schema_source":"documentation","relation_oid":1247,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with CREATE TYPE, and domains with CREATE DOMAIN. A composite type is automatically created for each table in the database, to represent the row structure of the table. It is also possible to create composite types with CREATE TYPE AS.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typname","type":"name","description":"Data type name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnamespace","type":"oid","description":"The OID of the namespace that contains this type","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typowner","type":"oid","description":"Owner of the type","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typlen","type":"smallint","description":"For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a “varlena” type (one that has a length word), -2 indicates a null-terminated C string.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbyval","type":"boolean","description":"typbyval determines whether internal routines pass a value of this type by value or by reference. typbyval had better be false if typlen is not 1, 2, or 4 (or 8 on machines where Datum is 8 bytes). Variable-length types are always passed by reference. Note that typbyval can be false even if the length would allow pass-by-value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtype","type":"\"char\"","description":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, or r for a range type. See also typrelid and typbasetype.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcategory","type":"\"char\"","description":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 51.64.","documented_type":"char","hidden":false,"type_oid":18,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typispreferred","type":"boolean","description":"True if the type is a preferred cast target within its typcategory","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typisdefined","type":"boolean","description":"True if the type is defined, false if this is a placeholder entry for a not-yet-defined type. When typisdefined is false, nothing except the type name, namespace, and OID can be relied on.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdelim","type":"\"char\"","description":"Character that separates two values of this type when parsing array input. Note that the delimiter is associated with the array element data type, not the array data type.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typrelid","type":"oid","description":"If this is a composite type (see typtype), then this column points to the pg_class entry that defines the corresponding table. (For a free-standing composite type, the pg_class entry doesn't really represent a table, but it is needed anyway for the type's pg_attribute entries to link to.) Zero for non-composite types.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typelem","type":"oid","description":"If typelem is not 0 then it identifies another row in pg_type. The current type can then be subscripted like an array yielding values of type typelem. A “true” array type is variable length (typlen = -1), but some fixed-length (typlen > 0) types also have nonzero typelem, for example name and point. If a fixed-length type has a typelem then its internal representation must be some number of values of the typelem data type with no other data. Variable-length array types have a header defined by the array subroutines.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typarray","type":"oid","description":"If typarray is not 0 then it identifies another row in pg_type, which is the “true” array type having this type as element","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typinput","type":"regproc","description":"Input conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typoutput","type":"regproc","description":"Output conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typreceive","type":"regproc","description":"Input conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsend","type":"regproc","description":"Output conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodin","type":"regproc","description":"Type modifier input function, or 0 if type does not support modifiers","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodout","type":"regproc","description":"Type modifier output function, or 0 to use the standard format","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typanalyze","type":"regproc","description":"Custom ANALYZE function, or 0 to use the standard function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typalign","type":"\"char\"","description":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are: c = char alignment, i.e., no alignment needed. s = short alignment (2 bytes on most machines). i = int alignment (4 bytes on most machines). d = double alignment (8 bytes on many machines, but by no means all). Note For types used in system tables, it is critical that the size and alignment defined in pg_type agree with the way that the compiler will lay out the column in a structure representing a table row.","documented_type":"char","hidden":false,"type_oid":18,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typstorage","type":"\"char\"","description":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are p: Value must always be stored plain. e: Value can be stored in a “secondary” relation (if relation has one, see pg_class.reltoastrelid). m: Value can be stored compressed inline. x: Value can be stored compressed inline or stored in “secondary” storage. Note that m columns can also be moved out to secondary storage, but only as a last resort (e and x columns are moved first).","documented_type":"char","hidden":false,"type_oid":18,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnotnull","type":"boolean","description":"typnotnull represents a not-null constraint on a type. Used for domains only.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbasetype","type":"oid","description":"If this is a domain (see typtype), then typbasetype identifies the type that this one is based on. Zero if this type is not a domain.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtypmod","type":"integer","description":"Domains use typtypmod to record the typmod to be applied to their base type (-1 if base type does not use a typmod). -1 if this type is not a domain.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typndims","type":"integer","description":"typndims is the number of array dimensions for a domain over an array (that is, typbasetype is an array type). Zero for types other than domains over array types.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcollation","type":"oid","description":"typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have a nonzero value here, typically DEFAULT_COLLATION_OID. A domain over a collatable type can have a collation OID different from its base type's, if one was specified for the domain.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdefaultbin","type":"pg_node_tree","description":"If typdefaultbin is not null, it is the nodeToString() representation of a default expression for the type. This is only used for domains.","hidden":false,"type_oid":194,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typdefault","type":"text","description":"typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which can be fed to the type's input converter to produce a constant.","hidden":false,"type_oid":25,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":31,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-type.html","source_path":"sources/postgresql/12/catalog-pg-type.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_type.h","definition_source_path":"sources/postgresql/12/source/pg_type.h","source_column_count":31,"documentary_schema_source":"documentation","relation_oid":1247,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with CREATE TYPE, and domains with CREATE DOMAIN. A composite type is automatically created for each table in the database, to represent the row structure of the table. It is also possible to create composite types with CREATE TYPE AS.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typname","type":"name","description":"Data type name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnamespace","type":"oid","description":"The OID of the namespace that contains this type","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typowner","type":"oid","description":"Owner of the type","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typlen","type":"smallint","description":"For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a “varlena” type (one that has a length word), -2 indicates a null-terminated C string.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbyval","type":"boolean","description":"typbyval determines whether internal routines pass a value of this type by value or by reference. typbyval had better be false if typlen is not 1, 2, or 4 (or 8 on machines where Datum is 8 bytes). Variable-length types are always passed by reference. Note that typbyval can be false even if the length would allow pass-by-value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtype","type":"\"char\"","description":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, or r for a range type. See also typrelid and typbasetype.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcategory","type":"\"char\"","description":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 51.63.","documented_type":"char","hidden":false,"type_oid":18,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typispreferred","type":"boolean","description":"True if the type is a preferred cast target within its typcategory","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typisdefined","type":"boolean","description":"True if the type is defined, false if this is a placeholder entry for a not-yet-defined type. When typisdefined is false, nothing except the type name, namespace, and OID can be relied on.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdelim","type":"\"char\"","description":"Character that separates two values of this type when parsing array input. Note that the delimiter is associated with the array element data type, not the array data type.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typrelid","type":"oid","description":"If this is a composite type (see typtype), then this column points to the pg_class entry that defines the corresponding table. (For a free-standing composite type, the pg_class entry doesn't really represent a table, but it is needed anyway for the type's pg_attribute entries to link to.) Zero for non-composite types.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typelem","type":"oid","description":"If typelem is not 0 then it identifies another row in pg_type. The current type can then be subscripted like an array yielding values of type typelem. A “true” array type is variable length (typlen = -1), but some fixed-length (typlen > 0) types also have nonzero typelem, for example name and point. If a fixed-length type has a typelem then its internal representation must be some number of values of the typelem data type with no other data. Variable-length array types have a header defined by the array subroutines.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typarray","type":"oid","description":"If typarray is not 0 then it identifies another row in pg_type, which is the “true” array type having this type as element","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typinput","type":"regproc","description":"Input conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typoutput","type":"regproc","description":"Output conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typreceive","type":"regproc","description":"Input conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsend","type":"regproc","description":"Output conversion function (binary format), or 0 if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodin","type":"regproc","description":"Type modifier input function, or 0 if type does not support modifiers","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodout","type":"regproc","description":"Type modifier output function, or 0 to use the standard format","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typanalyze","type":"regproc","description":"Custom ANALYZE function, or 0 to use the standard function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typalign","type":"\"char\"","description":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are:","documented_type":"char","hidden":false,"type_oid":18,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typstorage","type":"\"char\"","description":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are: x is the usual choice for toast-able types. Note that m values can also be moved out to secondary storage, but only as a last resort (e and x values are moved first).","documented_type":"char","hidden":false,"type_oid":18,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnotnull","type":"boolean","description":"typnotnull represents a not-null constraint on a type. Used for domains only.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbasetype","type":"oid","description":"If this is a domain (see typtype), then typbasetype identifies the type that this one is based on. Zero if this type is not a domain.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtypmod","type":"integer","description":"Domains use typtypmod to record the typmod to be applied to their base type (-1 if base type does not use a typmod). -1 if this type is not a domain.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typndims","type":"integer","description":"typndims is the number of array dimensions for a domain over an array (that is, typbasetype is an array type). Zero for types other than domains over array types.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcollation","type":"oid","description":"typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have a nonzero value here, typically DEFAULT_COLLATION_OID. A domain over a collatable type can have a collation OID different from its base type's, if one was specified for the domain.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdefaultbin","type":"pg_node_tree","description":"If typdefaultbin is not null, it is the nodeToString() representation of a default expression for the type. This is only used for domains.","hidden":false,"type_oid":194,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typdefault","type":"text","description":"typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which can be fed to the type's input converter to produce a constant.","hidden":false,"type_oid":25,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":31,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-type.html","source_path":"sources/postgresql/13/catalog-pg-type.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_type.h","definition_source_path":"sources/postgresql/13/source/pg_type.h","source_column_count":31,"documentary_schema_source":"documentation","relation_oid":1247,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with CREATE TYPE, and domains with CREATE DOMAIN. A composite type is automatically created for each table in the database, to represent the row structure of the table. It is also possible to create composite types with CREATE TYPE AS.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typname","type":"name","description":"Data type name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnamespace","type":"oid","description":"The OID of the namespace that contains this type","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typowner","type":"oid","description":"Owner of the type","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typlen","type":"smallint","description":"For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a “varlena” type (one that has a length word), -2 indicates a null-terminated C string.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbyval","type":"boolean","description":"typbyval determines whether internal routines pass a value of this type by value or by reference. typbyval had better be false if typlen is not 1, 2, or 4 (or 8 on machines where Datum is 8 bytes). Variable-length types are always passed by reference. Note that typbyval can be false even if the length would allow pass-by-value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtype","type":"\"char\"","description":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, r for a range type, or m for a multirange type. See also typrelid and typbasetype.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcategory","type":"\"char\"","description":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 52.63.","documented_type":"char","hidden":false,"type_oid":18,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typispreferred","type":"boolean","description":"True if the type is a preferred cast target within its typcategory","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typisdefined","type":"boolean","description":"True if the type is defined, false if this is a placeholder entry for a not-yet-defined type. When typisdefined is false, nothing except the type name, namespace, and OID can be relied on.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdelim","type":"\"char\"","description":"Character that separates two values of this type when parsing array input. Note that the delimiter is associated with the array element data type, not the array data type.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typrelid","type":"oid","description":"If this is a composite type (see typtype), then this column points to the pg_class entry that defines the corresponding table. (For a free-standing composite type, the pg_class entry doesn't really represent a table, but it is needed anyway for the type's pg_attribute entries to link to.) Zero for non-composite types.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsubscript","type":"regproc","description":"Subscripting handler function's OID, or zero if this type doesn't support subscripting. Types that are “true” array types have typsubscript = array_subscript_handler, but other types may have other handler functions to implement specialized subscripting behavior.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typelem","type":"oid","description":"If typelem is not zero then it identifies another row in pg_type, defining the type yielded by subscripting. This should be zero if typsubscript is zero. However, it can be zero when typsubscript isn't zero, if the handler doesn't need typelem to determine the subscripting result type. Note that a typelem dependency is considered to imply physical containment of the element type in this type; so DDL changes on the element type might be restricted by the presence of this type.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typarray","type":"oid","description":"If typarray is not zero then it identifies another row in pg_type, which is the “true” array type having this type as element","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typinput","type":"regproc","description":"Input conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typoutput","type":"regproc","description":"Output conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typreceive","type":"regproc","description":"Input conversion function (binary format), or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsend","type":"regproc","description":"Output conversion function (binary format), or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodin","type":"regproc","description":"Type modifier input function, or zero if type does not support modifiers","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodout","type":"regproc","description":"Type modifier output function, or zero to use the standard format","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typanalyze","type":"regproc","description":"Custom ANALYZE function, or zero to use the standard function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typalign","type":"\"char\"","description":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are:","documented_type":"char","hidden":false,"type_oid":18,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typstorage","type":"\"char\"","description":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are: x is the usual choice for toast-able types. Note that m values can also be moved out to secondary storage, but only as a last resort (e and x values are moved first).","documented_type":"char","hidden":false,"type_oid":18,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnotnull","type":"boolean","description":"typnotnull represents a not-null constraint on a type. Used for domains only.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbasetype","type":"oid","description":"If this is a domain (see typtype), then typbasetype identifies the type that this one is based on. Zero if this type is not a domain.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtypmod","type":"integer","description":"Domains use typtypmod to record the typmod to be applied to their base type (-1 if base type does not use a typmod). -1 if this type is not a domain.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typndims","type":"integer","description":"typndims is the number of array dimensions for a domain over an array (that is, typbasetype is an array type). Zero for types other than domains over array types.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcollation","type":"oid","description":"typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have a nonzero value here, typically DEFAULT_COLLATION_OID. A domain over a collatable type can have a collation OID different from its base type's, if one was specified for the domain.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdefaultbin","type":"pg_node_tree","description":"If typdefaultbin is not null, it is the nodeToString() representation of a default expression for the type. This is only used for domains.","hidden":false,"type_oid":194,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typdefault","type":"text","description":"typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which can be fed to the type's input converter to produce a constant.","hidden":false,"type_oid":25,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":32,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-type.html","source_path":"sources/postgresql/14/catalog-pg-type.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_type.h","definition_source_path":"sources/postgresql/14/source/pg_type.h","source_column_count":32,"documentary_schema_source":"documentation","relation_oid":1247,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with CREATE TYPE, and domains with CREATE DOMAIN. A composite type is automatically created for each table in the database, to represent the row structure of the table. It is also possible to create composite types with CREATE TYPE AS.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typname","type":"name","description":"Data type name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnamespace","type":"oid","description":"The OID of the namespace that contains this type","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typowner","type":"oid","description":"Owner of the type","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typlen","type":"smallint","description":"For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a “varlena” type (one that has a length word), -2 indicates a null-terminated C string.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbyval","type":"boolean","description":"typbyval determines whether internal routines pass a value of this type by value or by reference. typbyval had better be false if typlen is not 1, 2, or 4 (or 8 on machines where Datum is 8 bytes). Variable-length types are always passed by reference. Note that typbyval can be false even if the length would allow pass-by-value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtype","type":"\"char\"","description":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, r for a range type, or m for a multirange type. See also typrelid and typbasetype.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcategory","type":"\"char\"","description":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 53.65.","documented_type":"char","hidden":false,"type_oid":18,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typispreferred","type":"boolean","description":"True if the type is a preferred cast target within its typcategory","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typisdefined","type":"boolean","description":"True if the type is defined, false if this is a placeholder entry for a not-yet-defined type. When typisdefined is false, nothing except the type name, namespace, and OID can be relied on.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdelim","type":"\"char\"","description":"Character that separates two values of this type when parsing array input. Note that the delimiter is associated with the array element data type, not the array data type.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typrelid","type":"oid","description":"If this is a composite type (see typtype), then this column points to the pg_class entry that defines the corresponding table. (For a free-standing composite type, the pg_class entry doesn't really represent a table, but it is needed anyway for the type's pg_attribute entries to link to.) Zero for non-composite types.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsubscript","type":"regproc","description":"Subscripting handler function's OID, or zero if this type doesn't support subscripting. Types that are “true” array types have typsubscript = array_subscript_handler, but other types may have other handler functions to implement specialized subscripting behavior.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typelem","type":"oid","description":"If typelem is not zero then it identifies another row in pg_type, defining the type yielded by subscripting. This should be zero if typsubscript is zero. However, it can be zero when typsubscript isn't zero, if the handler doesn't need typelem to determine the subscripting result type. Note that a typelem dependency is considered to imply physical containment of the element type in this type; so DDL changes on the element type might be restricted by the presence of this type.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typarray","type":"oid","description":"If typarray is not zero then it identifies another row in pg_type, which is the “true” array type having this type as element","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typinput","type":"regproc","description":"Input conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typoutput","type":"regproc","description":"Output conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typreceive","type":"regproc","description":"Input conversion function (binary format), or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsend","type":"regproc","description":"Output conversion function (binary format), or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodin","type":"regproc","description":"Type modifier input function, or zero if type does not support modifiers","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodout","type":"regproc","description":"Type modifier output function, or zero to use the standard format","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typanalyze","type":"regproc","description":"Custom ANALYZE function, or zero to use the standard function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typalign","type":"\"char\"","description":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are:","documented_type":"char","hidden":false,"type_oid":18,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typstorage","type":"\"char\"","description":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are: x is the usual choice for toast-able types. Note that m values can also be moved out to secondary storage, but only as a last resort (e and x values are moved first).","documented_type":"char","hidden":false,"type_oid":18,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnotnull","type":"boolean","description":"typnotnull represents a not-null constraint on a type. Used for domains only.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbasetype","type":"oid","description":"If this is a domain (see typtype), then typbasetype identifies the type that this one is based on. Zero if this type is not a domain.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtypmod","type":"integer","description":"Domains use typtypmod to record the typmod to be applied to their base type (-1 if base type does not use a typmod). -1 if this type is not a domain.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typndims","type":"integer","description":"typndims is the number of array dimensions for a domain over an array (that is, typbasetype is an array type). Zero for types other than domains over array types.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcollation","type":"oid","description":"typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have a nonzero value here, typically DEFAULT_COLLATION_OID. A domain over a collatable type can have a collation OID different from its base type's, if one was specified for the domain.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdefaultbin","type":"pg_node_tree","description":"If typdefaultbin is not null, it is the nodeToString() representation of a default expression for the type. This is only used for domains.","hidden":false,"type_oid":194,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typdefault","type":"text","description":"typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which can be fed to the type's input converter to produce a constant.","hidden":false,"type_oid":25,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":32,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-type.html","source_path":"sources/postgresql/15/catalog-pg-type.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_type.h","definition_source_path":"sources/postgresql/15/source/pg_type.h","source_column_count":32,"documentary_schema_source":"documentation","relation_oid":1247,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with CREATE TYPE, and domains with CREATE DOMAIN. A composite type is automatically created for each table in the database, to represent the row structure of the table. It is also possible to create composite types with CREATE TYPE AS.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typname","type":"name","description":"Data type name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnamespace","type":"oid","description":"The OID of the namespace that contains this type","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typowner","type":"oid","description":"Owner of the type","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typlen","type":"smallint","description":"For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a “varlena” type (one that has a length word), -2 indicates a null-terminated C string.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbyval","type":"boolean","description":"typbyval determines whether internal routines pass a value of this type by value or by reference. typbyval had better be false if typlen is not 1, 2, or 4 (or 8 on machines where Datum is 8 bytes). Variable-length types are always passed by reference. Note that typbyval can be false even if the length would allow pass-by-value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtype","type":"\"char\"","description":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, r for a range type, or m for a multirange type. See also typrelid and typbasetype.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcategory","type":"\"char\"","description":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 53.65.","documented_type":"char","hidden":false,"type_oid":18,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typispreferred","type":"boolean","description":"True if the type is a preferred cast target within its typcategory","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typisdefined","type":"boolean","description":"True if the type is defined, false if this is a placeholder entry for a not-yet-defined type. When typisdefined is false, nothing except the type name, namespace, and OID can be relied on.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdelim","type":"\"char\"","description":"Character that separates two values of this type when parsing array input. Note that the delimiter is associated with the array element data type, not the array data type.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typrelid","type":"oid","description":"If this is a composite type (see typtype), then this column points to the pg_class entry that defines the corresponding table. (For a free-standing composite type, the pg_class entry doesn't really represent a table, but it is needed anyway for the type's pg_attribute entries to link to.) Zero for non-composite types.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsubscript","type":"regproc","description":"Subscripting handler function's OID, or zero if this type doesn't support subscripting. Types that are “true” array types have typsubscript = array_subscript_handler, but other types may have other handler functions to implement specialized subscripting behavior.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typelem","type":"oid","description":"If typelem is not zero then it identifies another row in pg_type, defining the type yielded by subscripting. This should be zero if typsubscript is zero. However, it can be zero when typsubscript isn't zero, if the handler doesn't need typelem to determine the subscripting result type. Note that a typelem dependency is considered to imply physical containment of the element type in this type; so DDL changes on the element type might be restricted by the presence of this type.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typarray","type":"oid","description":"If typarray is not zero then it identifies another row in pg_type, which is the “true” array type having this type as element","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typinput","type":"regproc","description":"Input conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typoutput","type":"regproc","description":"Output conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typreceive","type":"regproc","description":"Input conversion function (binary format), or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsend","type":"regproc","description":"Output conversion function (binary format), or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodin","type":"regproc","description":"Type modifier input function, or zero if type does not support modifiers","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodout","type":"regproc","description":"Type modifier output function, or zero to use the standard format","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typanalyze","type":"regproc","description":"Custom ANALYZE function, or zero to use the standard function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typalign","type":"\"char\"","description":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are:","documented_type":"char","hidden":false,"type_oid":18,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typstorage","type":"\"char\"","description":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are: x is the usual choice for toast-able types. Note that m values can also be moved out to secondary storage, but only as a last resort (e and x values are moved first).","documented_type":"char","hidden":false,"type_oid":18,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnotnull","type":"boolean","description":"typnotnull represents a not-null constraint on a type. Used for domains only.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbasetype","type":"oid","description":"If this is a domain (see typtype), then typbasetype identifies the type that this one is based on. Zero if this type is not a domain.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtypmod","type":"integer","description":"Domains use typtypmod to record the typmod to be applied to their base type (-1 if base type does not use a typmod). -1 if this type is not a domain.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typndims","type":"integer","description":"typndims is the number of array dimensions for a domain over an array (that is, typbasetype is an array type). Zero for types other than domains over array types.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcollation","type":"oid","description":"typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have a nonzero value here, typically DEFAULT_COLLATION_OID. A domain over a collatable type can have a collation OID different from its base type's, if one was specified for the domain.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdefaultbin","type":"pg_node_tree","description":"If typdefaultbin is not null, it is the nodeToString() representation of a default expression for the type. This is only used for domains.","hidden":false,"type_oid":194,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typdefault","type":"text","description":"typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which can be fed to the type's input converter to produce a constant.","hidden":false,"type_oid":25,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typacl","type":"aclitem[]","description":"Access privileges; see Section 5.7 for details","hidden":false,"type_oid":1034,"attnum":32,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-type.html","source_path":"sources/postgresql/16/catalog-pg-type.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_type.h","definition_source_path":"sources/postgresql/16/source/pg_type.h","source_column_count":32,"documentary_schema_source":"documentation","relation_oid":1247,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with CREATE TYPE, and domains with CREATE DOMAIN. A composite type is automatically created for each table in the database, to represent the row structure of the table. It is also possible to create composite types with CREATE TYPE AS.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typname","type":"name","description":"Data type name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnamespace","type":"oid","description":"The OID of the namespace that contains this type","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typowner","type":"oid","description":"Owner of the type","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typlen","type":"smallint","description":"For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a “varlena” type (one that has a length word), -2 indicates a null-terminated C string.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbyval","type":"boolean","description":"typbyval determines whether internal routines pass a value of this type by value or by reference. typbyval had better be false if typlen is not 1, 2, or 4 (or 8 on machines where Datum is 8 bytes). Variable-length types are always passed by reference. Note that typbyval can be false even if the length would allow pass-by-value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtype","type":"\"char\"","description":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, r for a range type, or m for a multirange type. See also typrelid and typbasetype.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcategory","type":"\"char\"","description":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 51.65.","documented_type":"char","hidden":false,"type_oid":18,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typispreferred","type":"boolean","description":"True if the type is a preferred cast target within its typcategory","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typisdefined","type":"boolean","description":"True if the type is defined, false if this is a placeholder entry for a not-yet-defined type. When typisdefined is false, nothing except the type name, namespace, and OID can be relied on.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdelim","type":"\"char\"","description":"Character that separates two values of this type when parsing array input. Note that the delimiter is associated with the array element data type, not the array data type.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typrelid","type":"oid","description":"If this is a composite type (see typtype), then this column points to the pg_class entry that defines the corresponding table. (For a free-standing composite type, the pg_class entry doesn't really represent a table, but it is needed anyway for the type's pg_attribute entries to link to.) Zero for non-composite types.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsubscript","type":"regproc","description":"Subscripting handler function's OID, or zero if this type doesn't support subscripting. Types that are “true” array types have typsubscript = array_subscript_handler, but other types may have other handler functions to implement specialized subscripting behavior.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typelem","type":"oid","description":"If typelem is not zero then it identifies another row in pg_type, defining the type yielded by subscripting. This should be zero if typsubscript is zero. However, it can be zero when typsubscript isn't zero, if the handler doesn't need typelem to determine the subscripting result type. Note that a typelem dependency is considered to imply physical containment of the element type in this type; so DDL changes on the element type might be restricted by the presence of this type.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typarray","type":"oid","description":"If typarray is not zero then it identifies another row in pg_type, which is the “true” array type having this type as element","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typinput","type":"regproc","description":"Input conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typoutput","type":"regproc","description":"Output conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typreceive","type":"regproc","description":"Input conversion function (binary format), or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsend","type":"regproc","description":"Output conversion function (binary format), or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodin","type":"regproc","description":"Type modifier input function, or zero if type does not support modifiers","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodout","type":"regproc","description":"Type modifier output function, or zero to use the standard format","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typanalyze","type":"regproc","description":"Custom ANALYZE function, or zero to use the standard function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typalign","type":"\"char\"","description":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are:","documented_type":"char","hidden":false,"type_oid":18,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typstorage","type":"\"char\"","description":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are: x is the usual choice for toast-able types. Note that m values can also be moved out to secondary storage, but only as a last resort (e and x values are moved first).","documented_type":"char","hidden":false,"type_oid":18,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnotnull","type":"boolean","description":"typnotnull represents a not-null constraint on a type. Used for domains only.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbasetype","type":"oid","description":"If this is a domain (see typtype), then typbasetype identifies the type that this one is based on. Zero if this type is not a domain.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtypmod","type":"integer","description":"Domains use typtypmod to record the typmod to be applied to their base type (-1 if base type does not use a typmod). -1 if this type is not a domain.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typndims","type":"integer","description":"typndims is the number of array dimensions for a domain over an array (that is, typbasetype is an array type). Zero for types other than domains over array types.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcollation","type":"oid","description":"typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have a nonzero value here, typically DEFAULT_COLLATION_OID. A domain over a collatable type can have a collation OID different from its base type's, if one was specified for the domain.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdefaultbin","type":"pg_node_tree","description":"If typdefaultbin is not null, it is the nodeToString() representation of a default expression for the type. This is only used for domains.","hidden":false,"type_oid":194,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typdefault","type":"text","description":"typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which can be fed to the type's input converter to produce a constant.","hidden":false,"type_oid":25,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typacl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":32,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-type.html","source_path":"sources/postgresql/17/catalog-pg-type.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_type.h","definition_source_path":"sources/postgresql/17/source/pg_type.h","source_column_count":32,"documentary_schema_source":"documentation","relation_oid":1247,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with CREATE TYPE, and domains with CREATE DOMAIN. A composite type is automatically created for each table in the database, to represent the row structure of the table. It is also possible to create composite types with CREATE TYPE AS.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typname","type":"name","description":"Data type name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnamespace","type":"oid","description":"The OID of the namespace that contains this type","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typowner","type":"oid","description":"Owner of the type","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typlen","type":"smallint","description":"For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a “varlena” type (one that has a length word), -2 indicates a null-terminated C string.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbyval","type":"boolean","description":"typbyval determines whether internal routines pass a value of this type by value or by reference. typbyval had better be false if typlen is not 1, 2, or 4 (or 8 on machines where Datum is 8 bytes). Variable-length types are always passed by reference. Note that typbyval can be false even if the length would allow pass-by-value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtype","type":"\"char\"","description":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, r for a range type, or m for a multirange type. See also typrelid and typbasetype.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcategory","type":"\"char\"","description":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 52.65.","documented_type":"char","hidden":false,"type_oid":18,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typispreferred","type":"boolean","description":"True if the type is a preferred cast target within its typcategory","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typisdefined","type":"boolean","description":"True if the type is defined, false if this is a placeholder entry for a not-yet-defined type. When typisdefined is false, nothing except the type name, namespace, and OID can be relied on.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdelim","type":"\"char\"","description":"Character that separates two values of this type when parsing array input. Note that the delimiter is associated with the array element data type, not the array data type.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typrelid","type":"oid","description":"If this is a composite type (see typtype), then this column points to the pg_class entry that defines the corresponding table. (For a free-standing composite type, the pg_class entry doesn't really represent a table, but it is needed anyway for the type's pg_attribute entries to link to.) Zero for non-composite types.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsubscript","type":"regproc","description":"Subscripting handler function's OID, or zero if this type doesn't support subscripting. Types that are “true” array types have typsubscript = array_subscript_handler, but other types may have other handler functions to implement specialized subscripting behavior.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typelem","type":"oid","description":"If typelem is not zero then it identifies another row in pg_type, defining the type yielded by subscripting. This should be zero if typsubscript is zero. However, it can be zero when typsubscript isn't zero, if the handler doesn't need typelem to determine the subscripting result type. Note that a typelem dependency is considered to imply physical containment of the element type in this type; so DDL changes on the element type might be restricted by the presence of this type.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typarray","type":"oid","description":"If typarray is not zero then it identifies another row in pg_type, which is the “true” array type having this type as element","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typinput","type":"regproc","description":"Input conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typoutput","type":"regproc","description":"Output conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typreceive","type":"regproc","description":"Input conversion function (binary format), or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsend","type":"regproc","description":"Output conversion function (binary format), or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodin","type":"regproc","description":"Type modifier input function, or zero if type does not support modifiers","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodout","type":"regproc","description":"Type modifier output function, or zero to use the standard format","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typanalyze","type":"regproc","description":"Custom ANALYZE function, or zero to use the standard function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typalign","type":"\"char\"","description":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are:","documented_type":"char","hidden":false,"type_oid":18,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typstorage","type":"\"char\"","description":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are: x is the usual choice for toast-able types. Note that m values can also be moved out to secondary storage, but only as a last resort (e and x values are moved first).","documented_type":"char","hidden":false,"type_oid":18,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnotnull","type":"boolean","description":"typnotnull represents a not-null constraint on a type. Used for domains only.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbasetype","type":"oid","description":"If this is a domain (see typtype), then typbasetype identifies the type that this one is based on. Zero if this type is not a domain.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtypmod","type":"integer","description":"Domains use typtypmod to record the typmod to be applied to their base type (-1 if base type does not use a typmod). -1 if this type is not a domain.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typndims","type":"integer","description":"typndims is the number of array dimensions for a domain over an array (that is, typbasetype is an array type). Zero for types other than domains over array types.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcollation","type":"oid","description":"typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have a nonzero value here, typically DEFAULT_COLLATION_OID. A domain over a collatable type can have a collation OID different from its base type's, if one was specified for the domain.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdefaultbin","type":"pg_node_tree","description":"If typdefaultbin is not null, it is the nodeToString() representation of a default expression for the type. This is only used for domains.","hidden":false,"type_oid":194,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typdefault","type":"text","description":"typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which can be fed to the type's input converter to produce a constant.","hidden":false,"type_oid":25,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typacl","type":"aclitem[]","description":"Access privileges; see Section 5.8 for details","hidden":false,"type_oid":1034,"attnum":32,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-type.html","source_path":"sources/postgresql/18/catalog-pg-type.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_type.h","definition_source_path":"sources/postgresql/18/source/pg_type.h","source_column_count":32,"documentary_schema_source":"documentation","relation_oid":1247,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with CREATE TYPE, and domains with CREATE DOMAIN. A composite type is automatically created for each table in the database, to represent the row structure of the table. It is also possible to create composite types with CREATE TYPE AS.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typname","type":"name","description":"Data type name","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnamespace","type":"oid","description":"The OID of the namespace that contains this type","references":"pg_namespace.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typowner","type":"oid","description":"Owner of the type","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typlen","type":"smallint","description":"For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a “varlena” type (one that has a length word), -2 indicates a null-terminated C string.","documented_type":"int2","hidden":false,"type_oid":21,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbyval","type":"boolean","description":"typbyval determines whether internal routines pass a value of this type by value or by reference. typbyval had better be false if typlen is not 1, 2, or 4 (or 8 on machines where Datum is 8 bytes). Variable-length types are always passed by reference. Note that typbyval can be false even if the length would allow pass-by-value.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtype","type":"\"char\"","description":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, r for a range type, or m for a multirange type. See also typrelid and typbasetype.","documented_type":"char","hidden":false,"type_oid":18,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcategory","type":"\"char\"","description":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 52.70.","documented_type":"char","hidden":false,"type_oid":18,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typispreferred","type":"boolean","description":"True if the type is a preferred cast target within its typcategory","documented_type":"bool","hidden":false,"type_oid":16,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typisdefined","type":"boolean","description":"True if the type is defined, false if this is a placeholder entry for a not-yet-defined type. When typisdefined is false, nothing except the type name, namespace, and OID can be relied on.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":10,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdelim","type":"\"char\"","description":"Character that separates two values of this type when parsing array input. Note that the delimiter is associated with the array element data type, not the array data type.","documented_type":"char","hidden":false,"type_oid":18,"attnum":11,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typrelid","type":"oid","description":"If this is a composite type (see typtype), then this column points to the pg_class entry that defines the corresponding table. (For a free-standing composite type, the pg_class entry doesn't really represent a table, but it is needed anyway for the type's pg_attribute entries to link to.) Zero for non-composite types.","references":"pg_class.oid","hidden":false,"type_oid":26,"attnum":12,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsubscript","type":"regproc","description":"Subscripting handler function's OID, or zero if this type doesn't support subscripting. Types that are “true” array types have typsubscript = array_subscript_handler, but other types may have other handler functions to implement specialized subscripting behavior.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typelem","type":"oid","description":"If typelem is not zero then it identifies another row in pg_type, defining the type yielded by subscripting. This should be zero if typsubscript is zero. However, it can be zero when typsubscript isn't zero, if the handler doesn't need typelem to determine the subscripting result type. Note that a typelem dependency is considered to imply physical containment of the element type in this type; so DDL changes on the element type might be restricted by the presence of this type.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":14,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typarray","type":"oid","description":"If typarray is not zero then it identifies another row in pg_type, which is the “true” array type having this type as element","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":15,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typinput","type":"regproc","description":"Input conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":16,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typoutput","type":"regproc","description":"Output conversion function (text format)","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":17,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typreceive","type":"regproc","description":"Input conversion function (binary format), or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":18,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typsend","type":"regproc","description":"Output conversion function (binary format), or zero if none","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":19,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodin","type":"regproc","description":"Type modifier input function, or zero if type does not support modifiers","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":20,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typmodout","type":"regproc","description":"Type modifier output function, or zero to use the standard format","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":21,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typanalyze","type":"regproc","description":"Custom ANALYZE function, or zero to use the standard function","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":22,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typalign","type":"\"char\"","description":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are:","documented_type":"char","hidden":false,"type_oid":18,"attnum":23,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typstorage","type":"\"char\"","description":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are: x is the usual choice for toast-able types. Note that m values can also be moved out to secondary storage, but only as a last resort (e and x values are moved first).","documented_type":"char","hidden":false,"type_oid":18,"attnum":24,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typnotnull","type":"boolean","description":"typnotnull represents a not-null constraint on a type. Used for domains only.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":25,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typbasetype","type":"oid","description":"If this is a domain (see typtype), then typbasetype identifies the type that this one is based on. Zero if this type is not a domain.","references":"pg_type.oid","hidden":false,"type_oid":26,"attnum":26,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typtypmod","type":"integer","description":"Domains use typtypmod to record the typmod to be applied to their base type (-1 if base type does not use a typmod). -1 if this type is not a domain.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typndims","type":"integer","description":"typndims is the number of array dimensions for a domain over an array (that is, typbasetype is an array type). Zero for types other than domains over array types.","documented_type":"int4","hidden":false,"type_oid":23,"attnum":28,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typcollation","type":"oid","description":"typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have a nonzero value here, typically DEFAULT_COLLATION_OID. A domain over a collatable type can have a collation OID different from its base type's, if one was specified for the domain.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":29,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"typdefaultbin","type":"pg_node_tree","description":"If typdefaultbin is not null, it is the nodeToString() representation of a default expression for the type. This is only used for domains.","hidden":false,"type_oid":194,"attnum":30,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typdefault","type":"text","description":"typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which can be fed to the type's input converter to produce a constant.","hidden":false,"type_oid":25,"attnum":31,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"typacl","type":"aclitem[]","description":"Access privileges; see Section 5.9 for details","hidden":false,"type_oid":1034,"attnum":32,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-type.html","source_path":"sources/postgresql/19/catalog-pg-type.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_type.h","definition_source_path":"sources/postgresql/19/source/pg_type.h","source_column_count":32,"documentary_schema_source":"documentation","relation_oid":1247,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[{"name":"typcollation","type":"oid","description":"typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have DEFAULT_COLLATION_OID here. A domain over a collatable type can have some other collation OID, if one was specified for the domain.","references":"pg_collation.oid","hidden":false,"type_oid":26,"attnum":27,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[{"name":"typdefaultbin","from":"text","to":"pg_node_tree"}],"description_changes":[{"name":"typcategory","from":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be \"preferred\". See Table 45-45.","to":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be \"preferred\". See Table 45-49."},{"name":"typdefault","from":"typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which might be fed to the type's input converter to produce a constant.","to":"typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which can be fed to the type's input converter to produce a constant."},{"name":"typndims","from":"typndims is the number of array dimensions for a domain that is an array (that is, typbasetype is an array type; the domain's typelem will match the base type's typelem). Zero for types other than domains over array types.","to":"typndims is the number of array dimensions for a domain over an array (that is, typbasetype is an array type). Zero for types other than domains over array types."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[{"name":"typacl","type":"aclitem[]","description":"Access privileges; see GRANT and REVOKE for details","hidden":false,"type_oid":1034,"attnum":30,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"typcategory","from":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be \"preferred\". See Table 45-49.","to":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be \"preferred\". See Table 45-51."},{"name":"typtype","from":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, or p for a pseudo-type. See also typrelid and typbasetype.","to":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, or r for a range type. See also typrelid and typbasetype."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"},{"name":"typcategory","from":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be \"preferred\". See Table 45-51.","to":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be \"preferred\". See Table 47-52."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.3","to":"9.4","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"typcategory","from":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be \"preferred\". See Table 47-52.","to":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be \"preferred\". See Table 48-53."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"typcategory","from":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be \"preferred\". See Table 48-53.","to":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be \"preferred\". See Table 49-55."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.5","to":"9.6","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"typcategory","from":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be \"preferred\". See Table 49-55.","to":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be \"preferred\". See Table 50-56."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"typalign","from":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are: c = char alignment, i.e., no alignment needed. s = short alignment (2 bytes on most machines). i = int alignment (4 bytes on most machines). d = double alignment (8 bytes on many machines, but by no means all). Note: For types used in system tables, it is critical that the size and alignment defined in pg_type agree with the way that the compiler will lay out the column in a structure representing a table row.","to":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are: c = char alignment, i.e., no alignment needed. s = short alignment (2 bytes on most machines). i = int alignment (4 bytes on most machines). d = double alignment (8 bytes on many machines, but by no means all). Note For types used in system tables, it is critical that the size and alignment defined in pg_type agree with the way that the compiler will lay out the column in a structure representing a table row."},{"name":"typarray","from":"If typarray is not 0 then it identifies another row in pg_type, which is the \"true\" array type having this type as element","to":"If typarray is not 0 then it identifies another row in pg_type, which is the “true” array type having this type as element"},{"name":"typcategory","from":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be \"preferred\". See Table 50-56.","to":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 51.63."},{"name":"typelem","from":"If typelem is not 0 then it identifies another row in pg_type. The current type can then be subscripted like an array yielding values of type typelem. A \"true\" array type is variable length (typlen = -1), but some fixed-length (typlen > 0) types also have nonzero typelem, for example name and point. If a fixed-length type has a typelem then its internal representation must be some number of values of the typelem data type with no other data. Variable-length array types have a header defined by the array subroutines.","to":"If typelem is not 0 then it identifies another row in pg_type. The current type can then be subscripted like an array yielding values of type typelem. A “true” array type is variable length (typlen = -1), but some fixed-length (typlen > 0) types also have nonzero typelem, for example name and point. If a fixed-length type has a typelem then its internal representation must be some number of values of the typelem data type with no other data. Variable-length array types have a header defined by the array subroutines."},{"name":"typlen","from":"For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a \"varlena\" type (one that has a length word), -2 indicates a null-terminated C string.","to":"For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a “varlena” type (one that has a length word), -2 indicates a null-terminated C string."},{"name":"typstorage","from":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are p: Value must always be stored plain. e: Value can be stored in a \"secondary\" relation (if relation has one, see pg_class.reltoastrelid). m: Value can be stored compressed inline. x: Value can be stored compressed inline or stored in \"secondary\" storage. Note that m columns can also be moved out to secondary storage, but only as a last resort (e and x columns are moved first).","to":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are p: Value must always be stored plain. e: Value can be stored in a “secondary” relation (if relation has one, see pg_class.reltoastrelid). m: Value can be stored compressed inline. x: Value can be stored compressed inline or stored in “secondary” storage. Note that m columns can also be moved out to secondary storage, but only as a last resort (e and x columns are moved first)."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"10","to":"11","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"typcategory","from":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 51.63.","to":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 52.63."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"},{"name":"typacl","from":"Access privileges; see GRANT and REVOKE for details","to":"Access privileges; see Section 5.7 for details"},{"name":"typcategory","from":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 52.63.","to":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 51.64."},{"name":"typcollation","from":"typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have DEFAULT_COLLATION_OID here. A domain over a collatable type can have some other collation OID, if one was specified for the domain.","to":"typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have a nonzero value here, typically DEFAULT_COLLATION_OID. A domain over a collatable type can have a collation OID different from its base type's, if one was specified for the domain."}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"12","to":"13","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"typalign","from":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are: c = char alignment, i.e., no alignment needed. s = short alignment (2 bytes on most machines). i = int alignment (4 bytes on most machines). d = double alignment (8 bytes on many machines, but by no means all). Note For types used in system tables, it is critical that the size and alignment defined in pg_type agree with the way that the compiler will lay out the column in a structure representing a table row.","to":"typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are:"},{"name":"typcategory","from":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 51.64.","to":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 51.63."},{"name":"typstorage","from":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are p: Value must always be stored plain. e: Value can be stored in a “secondary” relation (if relation has one, see pg_class.reltoastrelid). m: Value can be stored compressed inline. x: Value can be stored compressed inline or stored in “secondary” storage. Note that m columns can also be moved out to secondary storage, but only as a last resort (e and x columns are moved first).","to":"typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are: x is the usual choice for toast-able types. Note that m values can also be moved out to secondary storage, but only as a last resort (e and x values are moved first)."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[{"name":"typsubscript","type":"regproc","description":"Subscripting handler function's OID, or zero if this type doesn't support subscripting. Types that are “true” array types have typsubscript = array_subscript_handler, but other types may have other handler functions to implement specialized subscripting behavior.","references":"pg_proc.oid","hidden":false,"type_oid":24,"attnum":13,"type_modifier":-1,"array_dimensions":0,"not_null":true}],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"typanalyze","from":"Custom ANALYZE function, or 0 to use the standard function","to":"Custom ANALYZE function, or zero to use the standard function"},{"name":"typarray","from":"If typarray is not 0 then it identifies another row in pg_type, which is the “true” array type having this type as element","to":"If typarray is not zero then it identifies another row in pg_type, which is the “true” array type having this type as element"},{"name":"typcategory","from":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 51.63.","to":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 52.63."},{"name":"typelem","from":"If typelem is not 0 then it identifies another row in pg_type. The current type can then be subscripted like an array yielding values of type typelem. A “true” array type is variable length (typlen = -1), but some fixed-length (typlen > 0) types also have nonzero typelem, for example name and point. If a fixed-length type has a typelem then its internal representation must be some number of values of the typelem data type with no other data. Variable-length array types have a header defined by the array subroutines.","to":"If typelem is not zero then it identifies another row in pg_type, defining the type yielded by subscripting. This should be zero if typsubscript is zero. However, it can be zero when typsubscript isn't zero, if the handler doesn't need typelem to determine the subscripting result type. Note that a typelem dependency is considered to imply physical containment of the element type in this type; so DDL changes on the element type might be restricted by the presence of this type."},{"name":"typmodin","from":"Type modifier input function, or 0 if type does not support modifiers","to":"Type modifier input function, or zero if type does not support modifiers"},{"name":"typmodout","from":"Type modifier output function, or 0 to use the standard format","to":"Type modifier output function, or zero to use the standard format"},{"name":"typreceive","from":"Input conversion function (binary format), or 0 if none","to":"Input conversion function (binary format), or zero if none"},{"name":"typsend","from":"Output conversion function (binary format), or 0 if none","to":"Output conversion function (binary format), or zero if none"},{"name":"typtype","from":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, or r for a range type. See also typrelid and typbasetype.","to":"typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, r for a range type, or m for a multirange type. See also typrelid and typbasetype."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"14","to":"15","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"typcategory","from":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 52.63.","to":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 53.65."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"typacl","from":"Access privileges; see Section 5.7 for details","to":"Access privileges; see Section 5.8 for details"},{"name":"typcategory","from":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 53.65.","to":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 51.65."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"17","to":"18","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"typcategory","from":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 51.65.","to":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 52.65."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"typacl","from":"Access privileges; see Section 5.8 for details","to":"Access privileges; see Section 5.9 for details"},{"name":"typcategory","from":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 52.65.","to":"typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 52.70."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_user","kind":"view","summary":"The view pg_user provides access to information about database users. This is simply a publicly readable view of pg_shadow that blanks out the password field.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The view pg_user provides access to information about database users. This is simply a publicly readable view of pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"User ID (arbitrary number used to reference this user)","documented_type":"int4","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecatupd","type":"boolean","description":"User can update system catalogs. (Even a superuser cannot do this unless this column is true.)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"abstime","description":"Password expiry time (only used for password authentication)","hidden":false,"type_oid":702,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/view-pg-user.html","source_path":"sources/postgresql/9.0/view-pg-user.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10963,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The view pg_user provides access to information about database users. This is simply a publicly readable view of pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"User ID (arbitrary number used to reference this user)","documented_type":"int4","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecatupd","type":"boolean","description":"User can update system catalogs. (Even a superuser cannot do this unless this column is true.)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","description":"User can initiate streaming replication and put the system in and out of backup mode.","description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/view-pg-user.html","method":"later_documentation_exact_column_name","note":"Explanation from later documentation; existence and SQL type verified in this version by fresh initdb."},"schema_note":"The version documentation omits this field; restored from its exact-release runtime catalog.","type":"boolean","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"abstime","description":"Password expiry time (only used for password authentication)","hidden":false,"type_oid":702,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/view-pg-user.html","source_path":"sources/postgresql/9.1/view-pg-user.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10978,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The view pg_user provides access to information about database users. This is simply a publicly readable view of pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecatupd","type":"boolean","description":"User can update system catalogs. (Even a superuser cannot do this unless this column is true.)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"abstime","description":"Password expiry time (only used for password authentication)","hidden":false,"type_oid":702,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/view-pg-user.html","source_path":"sources/postgresql/9.2/view-pg-user.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11046,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The view pg_user provides access to information about database users. This is simply a publicly readable view of pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecatupd","type":"boolean","description":"User can update system catalogs. (Even a superuser cannot do this unless this column is true.)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"abstime","description":"Password expiry time (only used for password authentication)","hidden":false,"type_oid":702,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-user.html","source_path":"sources/postgresql/9.3/view-pg-user.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11063,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The view pg_user provides access to information about database users. This is simply a publicly readable view of pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecatupd","type":"boolean","description":"User can update system catalogs. (Even a superuser cannot do this unless this column is true.)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"abstime","description":"Password expiry time (only used for password authentication)","hidden":false,"type_oid":702,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-user.html","source_path":"sources/postgresql/9.4/view-pg-user.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11160,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The view pg_user provides access to information about database users. This is simply a publicly readable view of pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row level security policy, see Section 5.7 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"abstime","description":"Password expiry time (only used for password authentication)","hidden":false,"type_oid":702,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-user.html","source_path":"sources/postgresql/9.5/view-pg-user.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11642,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The view pg_user provides access to information about database users. This is simply a publicly readable view of pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row level security policy, see Section 5.7 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"abstime","description":"Password expiry time (only used for password authentication)","hidden":false,"type_oid":702,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-user.html","source_path":"sources/postgresql/9.6/view-pg-user.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11664,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The view pg_user provides access to information about database users. This is simply a publicly readable view of pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row level security policy, see Section 5.7 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"abstime","description":"Password expiry time (only used for password authentication)","hidden":false,"type_oid":702,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-user.html","source_path":"sources/postgresql/10/view-pg-user.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11538,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_user provides access to information about database users. This is simply a publicly readable view of pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row level security policy, see Section 5.7 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"abstime","description":"Password expiry time (only used for password authentication)","hidden":false,"type_oid":702,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-user.html","source_path":"sources/postgresql/11/view-pg-user.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11606,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_user provides access to information about database users. This is simply a publicly readable view of pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row level security policy, see Section 5.8 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication)","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-user.html","source_path":"sources/postgresql/12/view-pg-user.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12100,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_user provides access to information about database users. This is simply a publicly readable view of pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row level security policy, see Section 5.8 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication)","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-user.html","source_path":"sources/postgresql/13/view-pg-user.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12098,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_user provides access to information about database users. This is simply a publicly readable view of pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row-level security policy, see Section 5.8 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication)","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-user.html","source_path":"sources/postgresql/14/view-pg-user.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12231,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_user provides access to information about database users. This is simply a publicly readable view of pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row-level security policy, see Section 5.8 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication)","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-user.html","source_path":"sources/postgresql/15/view-pg-user.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12014,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_user provides access to information about database users. This is simply a publicly readable view of pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row-level security policy, see Section 5.8 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication)","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-user.html","source_path":"sources/postgresql/16/view-pg-user.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12014,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_user provides access to information about database users. This is simply a publicly readable view of pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row-level security policy, see Section 5.9 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication)","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-user.html","source_path":"sources/postgresql/17/view-pg-user.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12014,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_user provides access to information about database users. This is simply a publicly readable view of pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row-level security policy, see Section 5.9 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication)","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-user.html","source_path":"sources/postgresql/18/view-pg-user.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12014,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_user provides access to information about database users. This is simply a publicly readable view of pg_shadow that blanks out the password field.","columns":[{"name":"usename","type":"name","description":"User name","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesysid","type":"oid","description":"ID of this user","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usecreatedb","type":"boolean","description":"User can create databases","documented_type":"bool","hidden":false,"type_oid":16,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usesuper","type":"boolean","description":"User is a superuser","documented_type":"bool","hidden":false,"type_oid":16,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"userepl","type":"boolean","description":"User can initiate streaming replication and put the system in and out of backup mode.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usebypassrls","type":"boolean","description":"User bypasses every row-level security policy, see Section 5.10 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"passwd","type":"text","description":"Not the password (always reads as ********)","hidden":false,"type_oid":25,"attnum":7,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"valuntil","type":"timestamp with time zone","description":"Password expiry time (only used for password authentication)","documented_type":"timestamptz","hidden":false,"type_oid":1184,"attnum":8,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"useconfig","type":"text[]","description":"Session defaults for run-time configuration variables","hidden":false,"type_oid":1009,"attnum":9,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-user.html","source_path":"sources/postgresql/19/view-pg-user.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12014,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.0","to":"9.1","status":"changed","added_columns":[{"name":"userepl","description":"User can initiate streaming replication and put the system in and out of backup mode.","description_source":{"version":"9.2","url":"https://www.postgresql.org/docs/9.2/view-pg-user.html","method":"later_documentation_exact_column_name","note":"Explanation from later documentation; existence and SQL type verified in this version by fresh initdb."},"schema_note":"The version documentation omits this field; restored from its exact-release runtime catalog.","type":"boolean","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"usesysid","from":"User ID (arbitrary number used to reference this user)","to":"ID of this user"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.4","to":"9.5","status":"changed","added_columns":[{"name":"usebypassrls","type":"boolean","description":"User bypasses every row level security policy, see Section 5.7 for more information.","documented_type":"bool","hidden":false,"type_oid":16,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[{"name":"usecatupd","type":"boolean","description":"User can update system catalogs. (Even a superuser cannot do this unless this column is true.)","documented_type":"bool","hidden":false,"type_oid":16,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[{"name":"valuntil","from":"abstime","to":"timestamp with time zone"}],"description_changes":[{"name":"usebypassrls","from":"User bypasses every row level security policy, see Section 5.7 for more information.","to":"User bypasses every row level security policy, see Section 5.8 for more information."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"usebypassrls","from":"User bypasses every row level security policy, see Section 5.8 for more information.","to":"User bypasses every row-level security policy, see Section 5.8 for more information."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"16","to":"17","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"usebypassrls","from":"User bypasses every row-level security policy, see Section 5.8 for more information.","to":"User bypasses every row-level security policy, see Section 5.9 for more information."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"18","to":"19","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"usebypassrls","from":"User bypasses every row-level security policy, see Section 5.9 for more information.","to":"User bypasses every row-level security policy, see Section 5.10 for more information."}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_user_mapping","kind":"catalog","summary":"mappings of users to foreign servers","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The catalog pg_user_mapping stores the mappings from local user to remote. Access to this catalog is restricted from normal users, use the view pg_user_mappings instead.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_user_mapping.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umserver","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/catalog-pg-user-mapping.html","source_path":"sources/postgresql/9.0/catalog-pg-user-mapping.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_0_23/src/include/catalog/pg_user_mapping.h","definition_source_path":"sources/postgresql/9.0/source/pg_user_mapping.h","source_column_count":4,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1418,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The catalog pg_user_mapping stores the mappings from local user to remote. Access to this catalog is restricted from normal users, use the view pg_user_mappings instead.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_user_mapping.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umserver","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/catalog-pg-user-mapping.html","source_path":"sources/postgresql/9.1/catalog-pg-user-mapping.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_1_24/src/include/catalog/pg_user_mapping.h","definition_source_path":"sources/postgresql/9.1/source/pg_user_mapping.h","source_column_count":4,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1418,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The catalog pg_user_mapping stores the mappings from local user to remote. Access to this catalog is restricted from normal users, use the view pg_user_mappings instead.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden system attribute; explicitly select oid).","schema_note":"The documentation omits this OID attribute; verified from the release-tag CATALOG declaration.","source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_user_mapping.h","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umserver","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/catalog-pg-user-mapping.html","source_path":"sources/postgresql/9.2/catalog-pg-user-mapping.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_2_24/src/include/catalog/pg_user_mapping.h","definition_source_path":"sources/postgresql/9.2/source/pg_user_mapping.h","source_column_count":4,"supplemented_columns":["oid"],"documentary_schema_source":"documentation+source-header","relation_oid":1418,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The catalog pg_user_mapping stores the mappings from local user to remote. Access to this catalog is restricted from normal users, use the view pg_user_mappings instead.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umserver","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/catalog-pg-user-mapping.html","source_path":"sources/postgresql/9.3/catalog-pg-user-mapping.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_3_25/src/include/catalog/pg_user_mapping.h","definition_source_path":"sources/postgresql/9.3/source/pg_user_mapping.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1418,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The catalog pg_user_mapping stores the mappings from local user to remote. Access to this catalog is restricted from normal users, use the view pg_user_mappings instead.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umserver","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/catalog-pg-user-mapping.html","source_path":"sources/postgresql/9.4/catalog-pg-user-mapping.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_4_26/src/include/catalog/pg_user_mapping.h","definition_source_path":"sources/postgresql/9.4/source/pg_user_mapping.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1418,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The catalog pg_user_mapping stores the mappings from local user to remote. Access to this catalog is restricted from normal users, use the view pg_user_mappings instead.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umserver","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/catalog-pg-user-mapping.html","source_path":"sources/postgresql/9.5/catalog-pg-user-mapping.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_5_25/src/include/catalog/pg_user_mapping.h","definition_source_path":"sources/postgresql/9.5/source/pg_user_mapping.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1418,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The catalog pg_user_mapping stores the mappings from local user to remote. Access to this catalog is restricted from normal users, use the view pg_user_mappings instead.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umserver","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/catalog-pg-user-mapping.html","source_path":"sources/postgresql/9.6/catalog-pg-user-mapping.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL9_6_24/src/include/catalog/pg_user_mapping.h","definition_source_path":"sources/postgresql/9.6/source/pg_user_mapping.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1418,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The catalog pg_user_mapping stores the mappings from local user to remote. Access to this catalog is restricted from normal users, use the view pg_user_mappings instead.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umserver","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/catalog-pg-user-mapping.html","source_path":"sources/postgresql/10/catalog-pg-user-mapping.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_10_23/src/include/catalog/pg_user_mapping.h","definition_source_path":"sources/postgresql/10/source/pg_user_mapping.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1418,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The catalog pg_user_mapping stores the mappings from local user to remote. Access to this catalog is restricted from normal users, use the view pg_user_mappings instead.","columns":[{"name":"oid","type":"oid","description":"Row identifier (hidden attribute; must be explicitly selected)","hidden":true,"type_oid":26,"attnum":-2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umserver","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":3,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/catalog-pg-user-mapping.html","source_path":"sources/postgresql/11/catalog-pg-user-mapping.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_11_22/src/include/catalog/pg_user_mapping.h","definition_source_path":"sources/postgresql/11/source/pg_user_mapping.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1418,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-7,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-6,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-5,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-4,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-3,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The catalog pg_user_mapping stores the mappings from local user to remote. Access to this catalog is restricted from normal users, use the view pg_user_mappings instead.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umserver","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/catalog-pg-user-mapping.html","source_path":"sources/postgresql/12/catalog-pg-user-mapping.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_12_22/src/include/catalog/pg_user_mapping.h","definition_source_path":"sources/postgresql/12/source/pg_user_mapping.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1418,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The catalog pg_user_mapping stores the mappings from local user to remote. Access to this catalog is restricted from normal users, use the view pg_user_mappings instead.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umserver","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/catalog-pg-user-mapping.html","source_path":"sources/postgresql/13/catalog-pg-user-mapping.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_13_23/src/include/catalog/pg_user_mapping.h","definition_source_path":"sources/postgresql/13/source/pg_user_mapping.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1418,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The catalog pg_user_mapping stores the mappings from local user to remote. Access to this catalog is restricted from normal users, use the view pg_user_mappings instead.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, or zero if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umserver","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/catalog-pg-user-mapping.html","source_path":"sources/postgresql/14/catalog-pg-user-mapping.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_14_24/src/include/catalog/pg_user_mapping.h","definition_source_path":"sources/postgresql/14/source/pg_user_mapping.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1418,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The catalog pg_user_mapping stores the mappings from local user to remote. Access to this catalog is restricted from normal users, use the view pg_user_mappings instead.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, or zero if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umserver","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/catalog-pg-user-mapping.html","source_path":"sources/postgresql/15/catalog-pg-user-mapping.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_15_19/src/include/catalog/pg_user_mapping.h","definition_source_path":"sources/postgresql/15/source/pg_user_mapping.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1418,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The catalog pg_user_mapping stores the mappings from local user to remote. Access to this catalog is restricted from normal users, use the view pg_user_mappings instead.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, or zero if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umserver","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/catalog-pg-user-mapping.html","source_path":"sources/postgresql/16/catalog-pg-user-mapping.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_16_15/src/include/catalog/pg_user_mapping.h","definition_source_path":"sources/postgresql/16/source/pg_user_mapping.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1418,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The catalog pg_user_mapping stores the mappings from local user to remote. Access to this catalog is restricted from normal users, use the view pg_user_mappings instead.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, or zero if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umserver","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/catalog-pg-user-mapping.html","source_path":"sources/postgresql/17/catalog-pg-user-mapping.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_17_11/src/include/catalog/pg_user_mapping.h","definition_source_path":"sources/postgresql/17/source/pg_user_mapping.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1418,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The catalog pg_user_mapping stores the mappings from local user to remote. Access to this catalog is restricted from normal users, use the view pg_user_mappings instead.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, or zero if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umserver","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/catalog-pg-user-mapping.html","source_path":"sources/postgresql/18/catalog-pg-user-mapping.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_18_6/src/include/catalog/pg_user_mapping.h","definition_source_path":"sources/postgresql/18/source/pg_user_mapping.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1418,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The catalog pg_user_mapping stores the mappings from local user to remote. Access to this catalog is restricted from normal users, use the view pg_user_mappings instead.","columns":[{"name":"oid","type":"oid","description":"Row identifier","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, or zero if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umserver","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":true},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":4,"type_modifier":-1,"array_dimensions":1,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/catalog-pg-user-mapping.html","source_path":"sources/postgresql/19/catalog-pg-user-mapping.html","schema_source":"runtime+documentation","definition_source_url":"https://raw.githubusercontent.com/postgres/postgres/REL_19_BETA3/src/include/catalog/pg_user_mapping.h","definition_source_path":"sources/postgresql/19/source/pg_user_mapping.h","source_column_count":4,"documentary_schema_source":"documentation","relation_oid":1418,"shared":false,"relkind":"r","system_columns":[{"name":"tableoid","attnum":-6,"type_oid":26,"type":"oid","type_name":"oid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmax","attnum":-5,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmax","attnum":-4,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"cmin","attnum":-3,"type_oid":29,"type":"cid","type_name":"cid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"xmin","attnum":-2,"type_oid":28,"type":"xid","type_name":"xid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":4,"by_value":true,"storage":"p","alignment":"i","hidden":true},{"name":"ctid","attnum":-1,"type_oid":27,"type":"tid","type_name":"tid","type_schema":"pg_catalog","type_modifier":-1,"array_dimensions":0,"not_null":true,"length":6,"by_value":false,"storage":"p","alignment":"s","hidden":true}],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.2","to":"9.3","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden system attribute; explicitly select oid).","to":"Row identifier (hidden attribute; must be explicitly selected)"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"umoptions","from":"User mapping specific options, as \"keyword=value\" strings","to":"User mapping specific options, as “keyword=value” strings"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"11","to":"12","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"oid","from":"Row identifier (hidden attribute; must be explicitly selected)","to":"Row identifier"}],"reference_changes":[],"attribute_changes":[{"name":"oid","attribute":"hidden","from":true,"to":false}],"relation_description_changed":false,"column_order_changed":false,"structural":true},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"umuser","from":"OID of the local role being mapped, 0 if the user mapping is public","to":"OID of the local role being mapped, or zero if the user mapping is public"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_user_mappings","kind":"view","summary":"The view pg_user_mappings provides access to information about user mappings. This is essentially a publicly readable view of pg_user_mapping that leaves out the options field if the user has no rights to use it.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The view pg_user_mappings provides access to information about user mappings. This is essentially a publicly readable view of pg_user_mapping that leaves out the options field if the user has no rights to use it.","columns":[{"name":"umid","type":"oid","description":"OID of the user mapping","references":"pg_user_mapping.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvid","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvname","type":"name","description":"Name of the foreign server","documented_type":"text","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the local user to be mapped","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as \"keyword=value\" strings, if the current user is the owner of the foreign server, else null","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/view-pg-user-mappings.html","source_path":"sources/postgresql/9.0/view-pg-user-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11071,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The view pg_user_mappings provides access to information about user mappings. This is essentially a publicly readable view of pg_user_mapping that leaves out the options field if the user has no rights to use it.","columns":[{"name":"umid","type":"oid","description":"OID of the user mapping","references":"pg_user_mapping.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvid","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvname","type":"name","description":"Name of the foreign server","documented_type":"text","schema_note":"SQL type calibrated against format_type in a fresh instance of the exact release; original documentation spelling is retained.","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the local user to be mapped","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as \"keyword=value\" strings, if the current user is the owner of the foreign server, else null","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/view-pg-user-mappings.html","source_path":"sources/postgresql/9.1/view-pg-user-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11118,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The view pg_user_mappings provides access to information about user mappings. This is essentially a publicly readable view of pg_user_mapping that leaves out the options field if the user has no rights to use it.","columns":[{"name":"umid","type":"oid","description":"OID of the user mapping","references":"pg_user_mapping.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvid","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvname","type":"name","description":"Name of the foreign server","references":"pg_foreign_server.srvname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the local user to be mapped","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/view-pg-user-mappings.html","source_path":"sources/postgresql/9.2/view-pg-user-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11188,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The view pg_user_mappings provides access to information about user mappings. This is essentially a publicly readable view of pg_user_mapping that leaves out the options field if the user has no rights to use it.","columns":[{"name":"umid","type":"oid","description":"OID of the user mapping","references":"pg_user_mapping.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvid","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvname","type":"name","description":"Name of the foreign server","references":"pg_foreign_server.srvname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the local user to be mapped","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-user-mappings.html","source_path":"sources/postgresql/9.3/view-pg-user-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11209,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The view pg_user_mappings provides access to information about user mappings. This is essentially a publicly readable view of pg_user_mapping that leaves out the options field if the user has no rights to use it.","columns":[{"name":"umid","type":"oid","description":"OID of the user mapping","references":"pg_user_mapping.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvid","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvname","type":"name","description":"Name of the foreign server","references":"pg_foreign_server.srvname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the local user to be mapped","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-user-mappings.html","source_path":"sources/postgresql/9.4/view-pg-user-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11314,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The view pg_user_mappings provides access to information about user mappings. This is essentially a publicly readable view of pg_user_mapping that leaves out the options field if the user has no rights to use it.","columns":[{"name":"umid","type":"oid","description":"OID of the user mapping","references":"pg_user_mapping.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvid","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvname","type":"name","description":"Name of the foreign server","references":"pg_foreign_server.srvname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the local user to be mapped","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-user-mappings.html","source_path":"sources/postgresql/9.5/view-pg-user-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11807,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The view pg_user_mappings provides access to information about user mappings. This is essentially a publicly readable view of pg_user_mapping that leaves out the options field if the user has no rights to use it.","columns":[{"name":"umid","type":"oid","description":"OID of the user mapping","references":"pg_user_mapping.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvid","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvname","type":"name","description":"Name of the foreign server","references":"pg_foreign_server.srvname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the local user to be mapped","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as \"keyword=value\" strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-user-mappings.html","source_path":"sources/postgresql/9.6/view-pg-user-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11839,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The view pg_user_mappings provides access to information about user mappings. This is essentially a publicly readable view of pg_user_mapping that leaves out the options field if the user has no rights to use it.","columns":[{"name":"umid","type":"oid","description":"OID of the user mapping","references":"pg_user_mapping.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvid","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvname","type":"name","description":"Name of the foreign server","references":"pg_foreign_server.srvname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the local user to be mapped","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-user-mappings.html","source_path":"sources/postgresql/10/view-pg-user-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11727,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_user_mappings provides access to information about user mappings. This is essentially a publicly readable view of pg_user_mapping that leaves out the options field if the user has no rights to use it.","columns":[{"name":"umid","type":"oid","description":"OID of the user mapping","references":"pg_user_mapping.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvid","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvname","type":"name","description":"Name of the foreign server","references":"pg_foreign_server.srvname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the local user to be mapped","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-user-mappings.html","source_path":"sources/postgresql/11/view-pg-user-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11795,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_user_mappings provides access to information about user mappings. This is essentially a publicly readable view of pg_user_mapping that leaves out the options field if the user has no rights to use it.","columns":[{"name":"umid","type":"oid","description":"OID of the user mapping","references":"pg_user_mapping.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvid","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvname","type":"name","description":"Name of the foreign server","references":"pg_foreign_server.srvname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the local user to be mapped","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-user-mappings.html","source_path":"sources/postgresql/12/view-pg-user-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12305,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_user_mappings provides access to information about user mappings. This is essentially a publicly readable view of pg_user_mapping that leaves out the options field if the user has no rights to use it.","columns":[{"name":"umid","type":"oid","description":"OID of the user mapping","references":"pg_user_mapping.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvid","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvname","type":"name","description":"Name of the foreign server","references":"pg_foreign_server.srvname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, 0 if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the local user to be mapped","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-user-mappings.html","source_path":"sources/postgresql/13/view-pg-user-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12318,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_user_mappings provides access to information about user mappings. This is essentially a publicly readable view of pg_user_mapping that leaves out the options field if the user has no rights to use it.","columns":[{"name":"umid","type":"oid","description":"OID of the user mapping","references":"pg_user_mapping.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvid","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvname","type":"name","description":"Name of the foreign server","references":"pg_foreign_server.srvname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, or zero if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the local user to be mapped","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-user-mappings.html","source_path":"sources/postgresql/14/view-pg-user-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12536,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_user_mappings provides access to information about user mappings. This is essentially a publicly readable view of pg_user_mapping that leaves out the options field if the user has no rights to use it.","columns":[{"name":"umid","type":"oid","description":"OID of the user mapping","references":"pg_user_mapping.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvid","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvname","type":"name","description":"Name of the foreign server","references":"pg_foreign_server.srvname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, or zero if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the local user to be mapped","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-user-mappings.html","source_path":"sources/postgresql/15/view-pg-user-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12327,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_user_mappings provides access to information about user mappings. This is essentially a publicly readable view of pg_user_mapping that leaves out the options field if the user has no rights to use it.","columns":[{"name":"umid","type":"oid","description":"OID of the user mapping","references":"pg_user_mapping.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvid","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvname","type":"name","description":"Name of the foreign server","references":"pg_foreign_server.srvname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, or zero if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the local user to be mapped","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-user-mappings.html","source_path":"sources/postgresql/16/view-pg-user-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12331,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_user_mappings provides access to information about user mappings. This is essentially a publicly readable view of pg_user_mapping that leaves out the options field if the user has no rights to use it.","columns":[{"name":"umid","type":"oid","description":"OID of the user mapping","references":"pg_user_mapping.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvid","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvname","type":"name","description":"Name of the foreign server","references":"pg_foreign_server.srvname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, or zero if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the local user to be mapped","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-user-mappings.html","source_path":"sources/postgresql/17/view-pg-user-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12334,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_user_mappings provides access to information about user mappings. This is essentially a publicly readable view of pg_user_mapping that leaves out the options field if the user has no rights to use it.","columns":[{"name":"umid","type":"oid","description":"OID of the user mapping","references":"pg_user_mapping.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvid","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvname","type":"name","description":"Name of the foreign server","references":"pg_foreign_server.srvname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, or zero if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the local user to be mapped","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-user-mappings.html","source_path":"sources/postgresql/18/view-pg-user-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12338,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_user_mappings provides access to information about user mappings. This is essentially a publicly readable view of pg_user_mapping that leaves out the options field if the user has no rights to use it.","columns":[{"name":"umid","type":"oid","description":"OID of the user mapping","references":"pg_user_mapping.oid","hidden":false,"type_oid":26,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvid","type":"oid","description":"The OID of the foreign server that contains this mapping","references":"pg_foreign_server.oid","hidden":false,"type_oid":26,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"srvname","type":"name","description":"Name of the foreign server","references":"pg_foreign_server.srvname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umuser","type":"oid","description":"OID of the local role being mapped, or zero if the user mapping is public","references":"pg_authid.oid","hidden":false,"type_oid":26,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"usename","type":"name","description":"Name of the local user to be mapped","hidden":false,"type_oid":19,"attnum":5,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"umoptions","type":"text[]","description":"User mapping specific options, as “keyword=value” strings","hidden":false,"type_oid":1009,"attnum":6,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-user-mappings.html","source_path":"sources/postgresql/19/view-pg-user-mappings.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12370,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"9.1","to":"9.2","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"umoptions","from":"User mapping specific options, as \"keyword=value\" strings, if the current user is the owner of the foreign server, else null","to":"User mapping specific options, as \"keyword=value\" strings"}],"reference_changes":[{"name":"srvname","from":"","to":"pg_foreign_server.srvname"}],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"9.6","to":"10","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"umoptions","from":"User mapping specific options, as \"keyword=value\" strings","to":"User mapping specific options, as “keyword=value” strings"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false},{"from":"13","to":"14","status":"changed","added_columns":[],"removed_columns":[],"type_changes":[],"description_changes":[{"name":"umuser","from":"OID of the local role being mapped, 0 if the user mapping is public","to":"OID of the local role being mapped, or zero if the user mapping is public"}],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":false}]},{"name":"pg_views","kind":"view","summary":"The view pg_views provides access to useful information about each view in the database.","first_version":"9.0","last_version":"19","versions":{"9.0":{"description":"The view pg_views provides access to useful information about each view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewname","type":"name","description":"Name of view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewowner","type":"name","description":"Name of view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"View definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.0/view-pg-views.html","source_path":"sources/postgresql/9.0/view-pg-views.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10970,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.0.23","source_tag":"REL9_0_23","source_path":"sources/runtime/9.0.json","sha256":"6139872c8de09100e6a78d61dfe2772a7bf0db644bdee9a580993294c37b94f8","download":"/data/runtime/9.0.json","passed":true}},"9.1":{"description":"The view pg_views provides access to useful information about each view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewname","type":"name","description":"Name of view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewowner","type":"name","description":"Name of view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"View definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.1/view-pg-views.html","source_path":"sources/postgresql/9.1/view-pg-views.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":10985,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.1.24","source_tag":"REL9_1_24","source_path":"sources/runtime/9.1.json","sha256":"cc91915f2ee13a93e1d465c259e56cd77b83b10f984ec2a363292bc5dff0c460","download":"/data/runtime/9.1.json","passed":true}},"9.2":{"description":"The view pg_views provides access to useful information about each view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewname","type":"name","description":"Name of view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewowner","type":"name","description":"Name of view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"View definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.2/view-pg-views.html","source_path":"sources/postgresql/9.2/view-pg-views.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11053,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.2.24","source_tag":"REL9_2_24","source_path":"sources/runtime/9.2.json","sha256":"aaa5df7d5bba5dacf1915b63ac57b761b023daa091509426412d523a019ec64e","download":"/data/runtime/9.2.json","passed":true}},"9.3":{"description":"The view pg_views provides access to useful information about each view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewname","type":"name","description":"Name of view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewowner","type":"name","description":"Name of view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"View definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.3/view-pg-views.html","source_path":"sources/postgresql/9.3/view-pg-views.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11070,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.3.25","source_tag":"REL9_3_25","source_path":"sources/runtime/9.3.json","sha256":"1ed860ab5aca75ba818d25968ea7c48c2e4b3e53e6acef09dee8c5299e9dee8d","download":"/data/runtime/9.3.json","passed":true}},"9.4":{"description":"The view pg_views provides access to useful information about each view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewname","type":"name","description":"Name of view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewowner","type":"name","description":"Name of view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"View definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.4/view-pg-views.html","source_path":"sources/postgresql/9.4/view-pg-views.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11167,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.4.26","source_tag":"REL9_4_26","source_path":"sources/runtime/9.4.json","sha256":"a831c730344da5b72dcf38acfd9849752eb92ab65e11a19d5b29241e4d18fbfa","download":"/data/runtime/9.4.json","passed":true}},"9.5":{"description":"The view pg_views provides access to useful information about each view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewname","type":"name","description":"Name of view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewowner","type":"name","description":"Name of view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"View definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.5/view-pg-views.html","source_path":"sources/postgresql/9.5/view-pg-views.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11653,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.5.25","source_tag":"REL9_5_25","source_path":"sources/runtime/9.5.json","sha256":"e88dd015104edee6f75859dd866ada89d75b64ed659d06fca75fdc32a8710073","download":"/data/runtime/9.5.json","passed":true}},"9.6":{"description":"The view pg_views provides access to useful information about each view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewname","type":"name","description":"Name of view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewowner","type":"name","description":"Name of view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"View definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/9.6/view-pg-views.html","source_path":"sources/postgresql/9.6/view-pg-views.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11675,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"9.6.24","source_tag":"REL9_6_24","source_path":"sources/runtime/9.6.json","sha256":"1ca8f057346ec95060d5998a8bb78c0edbe82ab6f9a7dce97161db42175f720b","download":"/data/runtime/9.6.json","passed":true}},"10":{"description":"The view pg_views provides access to useful information about each view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewname","type":"name","description":"Name of view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewowner","type":"name","description":"Name of view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"View definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/10/view-pg-views.html","source_path":"sources/postgresql/10/view-pg-views.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11549,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"10.23","source_tag":"REL_10_23","source_path":"sources/runtime/10.json","sha256":"771b47d523345a747771212e1906232069144bcea51701d02d27f77642e513d4","download":"/data/runtime/10.json","passed":true}},"11":{"description":"The view pg_views provides access to useful information about each view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewname","type":"name","description":"Name of view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewowner","type":"name","description":"Name of view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"View definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/11/view-pg-views.html","source_path":"sources/postgresql/11/view-pg-views.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":11617,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"11.22","source_tag":"REL_11_22","source_path":"sources/runtime/11.json","sha256":"66d6fe23f7308835f6a534793a8c5ffaec8760b9c1b0a4e753271992b6838f5f","download":"/data/runtime/11.json","passed":true}},"12":{"description":"The view pg_views provides access to useful information about each view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewname","type":"name","description":"Name of view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewowner","type":"name","description":"Name of view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"View definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/12/view-pg-views.html","source_path":"sources/postgresql/12/view-pg-views.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12111,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"12.22","source_tag":"REL_12_22","source_path":"sources/runtime/12.json","sha256":"9dc5a3cca5c6c3412ee36e22ae90b8a30048e5a3e1fecbc3890f2a3a52fef2e2","download":"/data/runtime/12.json","passed":true}},"13":{"description":"The view pg_views provides access to useful information about each view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewname","type":"name","description":"Name of view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewowner","type":"name","description":"Name of view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"View definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/13/view-pg-views.html","source_path":"sources/postgresql/13/view-pg-views.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12109,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"13.23","source_tag":"REL_13_23","source_path":"sources/runtime/13.json","sha256":"1128c8c796527aba4c5afab7f124048cbc2d967bf732f00d0fac9ccc52dc09ac","download":"/data/runtime/13.json","passed":true}},"14":{"description":"The view pg_views provides access to useful information about each view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewname","type":"name","description":"Name of view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewowner","type":"name","description":"Name of view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"View definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/14/view-pg-views.html","source_path":"sources/postgresql/14/view-pg-views.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12245,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"14.24","source_tag":"REL_14_24","source_path":"sources/runtime/14.json","sha256":"a25b938143c5125bfde6d25e4cd5aed449d19541061f26ed83d315bc4ba93d5a","download":"/data/runtime/14.json","passed":true}},"15":{"description":"The view pg_views provides access to useful information about each view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewname","type":"name","description":"Name of view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewowner","type":"name","description":"Name of view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"View definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/15/view-pg-views.html","source_path":"sources/postgresql/15/view-pg-views.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12028,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"15.19","source_tag":"REL_15_19","source_path":"sources/runtime/15.json","sha256":"d469cb73c6b268f38fb37f7023e41008cb63a56f2cb4c2df0bf529bc510fe459","download":"/data/runtime/15.json","passed":true}},"16":{"description":"The view pg_views provides access to useful information about each view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewname","type":"name","description":"Name of view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewowner","type":"name","description":"Name of view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"View definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/16/view-pg-views.html","source_path":"sources/postgresql/16/view-pg-views.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12028,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"16.15","source_tag":"REL_16_15","source_path":"sources/runtime/16.json","sha256":"f87a8cf739ef163be7d1f100058c92d656451325e603c920151f7dcaa5834a10","download":"/data/runtime/16.json","passed":true}},"17":{"description":"The view pg_views provides access to useful information about each view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewname","type":"name","description":"Name of view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewowner","type":"name","description":"Name of view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"View definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-views.html","source_path":"sources/postgresql/17/view-pg-views.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12028,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_views provides access to useful information about each view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewname","type":"name","description":"Name of view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewowner","type":"name","description":"Name of view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"View definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-views.html","source_path":"sources/postgresql/18/view-pg-views.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12028,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_views provides access to useful information about each view in the database.","columns":[{"name":"schemaname","type":"name","description":"Name of schema containing view","references":"pg_namespace.nspname","hidden":false,"type_oid":19,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewname","type":"name","description":"Name of view","references":"pg_class.relname","hidden":false,"type_oid":19,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"viewowner","type":"name","description":"Name of view's owner","references":"pg_authid.rolname","hidden":false,"type_oid":19,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"definition","type":"text","description":"View definition (a reconstructed SELECT query)","hidden":false,"type_oid":25,"attnum":4,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-views.html","source_path":"sources/postgresql/19/view-pg-views.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12028,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[]},{"name":"pg_wait_events","kind":"view","summary":"The view pg_wait_events provides description about the wait events.","first_version":"17","last_version":"19","versions":{"17":{"description":"The view pg_wait_events provides description about the wait events.","columns":[{"name":"type","type":"text","description":"Wait event type","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"name","type":"text","description":"Wait event name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"description","type":"text","description":"Wait event description","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/17/view-pg-wait-events.html","source_path":"sources/postgresql/17/view-pg-wait-events.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12347,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"17.11","source_tag":"REL_17_11","source_path":"sources/runtime/17.json","sha256":"653a238d16492defd799badc4120c64fc82adc0f35b8229bc75bbc9082e26f36","download":"/data/runtime/17.json","passed":true}},"18":{"description":"The view pg_wait_events provides description about the wait events.","columns":[{"name":"type","type":"text","description":"Wait event type","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"name","type":"text","description":"Wait event name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"description","type":"text","description":"Wait event description","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/18/view-pg-wait-events.html","source_path":"sources/postgresql/18/view-pg-wait-events.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12351,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"18.6","source_tag":"REL_18_6","source_path":"sources/runtime/18.json","sha256":"e5d02941f7df86ec76afd1483b9f4e940c2c145a900bb1bf32b4feff992800bf","download":"/data/runtime/18.json","passed":true}},"19":{"description":"The view pg_wait_events provides description about the wait events.","columns":[{"name":"type","type":"text","description":"Wait event type","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"name","type":"text","description":"Wait event name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"description","type":"text","description":"Wait event description","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"source_url":"https://www.postgresql.org/docs/19/view-pg-wait-events.html","source_path":"sources/postgresql/19/view-pg-wait-events.html","schema_source":"runtime+documentation","documentary_schema_source":"documentation","relation_oid":12383,"shared":false,"relkind":"v","system_columns":[],"runtime_validation":{"release":"19beta3","source_tag":"REL_19_BETA3","source_path":"sources/runtime/19.json","sha256":"2d1f0c65a5fa656dc86cb9648f80baee3654b976dc6ba69190cd1d49c61e6d9a","download":"/data/runtime/19.json","passed":true}}},"changes":[{"from":"16","to":"17","status":"added","added_columns":[{"name":"type","type":"text","description":"Wait event type","hidden":false,"type_oid":25,"attnum":1,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"name","type":"text","description":"Wait event name","hidden":false,"type_oid":25,"attnum":2,"type_modifier":-1,"array_dimensions":0,"not_null":false},{"name":"description","type":"text","description":"Wait event description","hidden":false,"type_oid":25,"attnum":3,"type_modifier":-1,"array_dimensions":0,"not_null":false}],"removed_columns":[],"type_changes":[],"description_changes":[],"reference_changes":[],"attribute_changes":[],"relation_description_changed":false,"column_order_changed":false,"structural":true}]}],"transitions":[{"from":"9.0","to":"9.1","added_relations":["pg_available_extension_versions","pg_available_extensions","pg_collation","pg_extension","pg_foreign_table","pg_seclabel","pg_seclabels","pg_stat_database_conflicts","pg_stat_replication","pg_stat_xact_all_tables","pg_stat_xact_sys_tables","pg_stat_xact_user_functions","pg_stat_xact_user_tables"],"removed_relations":[],"changed_relations":["pg_am","pg_amop","pg_attrdef","pg_attribute","pg_authid","pg_class","pg_constraint","pg_conversion","pg_enum","pg_foreign_data_wrapper","pg_foreign_server","pg_index","pg_locks","pg_pltemplate","pg_proc","pg_rewrite","pg_roles","pg_settings","pg_shadow","pg_stat_activity","pg_stat_all_tables","pg_stat_bgwriter","pg_stat_database","pg_stat_sys_tables","pg_stat_user_tables","pg_statistic","pg_timezone_names","pg_trigger","pg_type","pg_user"],"structurally_changed_relations":["pg_am","pg_amop","pg_attrdef","pg_attribute","pg_authid","pg_class","pg_constraint","pg_enum","pg_foreign_data_wrapper","pg_index","pg_proc","pg_rewrite","pg_roles","pg_shadow","pg_stat_activity","pg_stat_all_tables","pg_stat_bgwriter","pg_stat_database","pg_stat_sys_tables","pg_stat_user_tables","pg_trigger","pg_type","pg_user"],"added_columns":34,"removed_columns":3,"type_changes":9,"description_changes":19},{"from":"9.1","to":"9.2","added_relations":["pg_range","pg_shseclabel"],"removed_relations":[],"changed_relations":["pg_am","pg_attribute","pg_cast","pg_class","pg_constraint","pg_default_acl","pg_index","pg_locks","pg_opclass","pg_proc","pg_seclabel","pg_stat_activity","pg_stat_all_indexes","pg_stat_all_tables","pg_stat_bgwriter","pg_stat_database","pg_stat_database_conflicts","pg_stat_replication","pg_stat_sys_indexes","pg_stat_sys_tables","pg_stat_user_functions","pg_stat_user_indexes","pg_stat_user_tables","pg_stat_xact_all_tables","pg_stat_xact_sys_tables","pg_stat_xact_user_functions","pg_stat_xact_user_tables","pg_statio_all_indexes","pg_statio_all_sequences","pg_statio_all_tables","pg_statio_sys_indexes","pg_statio_sys_sequences","pg_statio_sys_tables","pg_statio_user_indexes","pg_statio_user_sequences","pg_statio_user_tables","pg_statistic","pg_stats","pg_tablespace","pg_type","pg_user","pg_user_mappings"],"structurally_changed_relations":["pg_am","pg_attribute","pg_class","pg_constraint","pg_locks","pg_proc","pg_stat_activity","pg_stat_bgwriter","pg_stat_database","pg_stat_replication","pg_stat_user_functions","pg_stat_xact_user_functions","pg_statistic","pg_stats","pg_tablespace","pg_type"],"added_columns":28,"removed_columns":4,"type_changes":4,"description_changes":69},{"from":"9.2","to":"9.3","added_relations":["pg_event_trigger","pg_matviews"],"removed_relations":[],"changed_relations":["pg_am","pg_amop","pg_amproc","pg_attrdef","pg_authid","pg_cast","pg_class","pg_collation","pg_constraint","pg_conversion","pg_database","pg_default_acl","pg_enum","pg_extension","pg_foreign_data_wrapper","pg_foreign_server","pg_index","pg_language","pg_largeobject_metadata","pg_namespace","pg_opclass","pg_operator","pg_opfamily","pg_proc","pg_rewrite","pg_seclabel","pg_shseclabel","pg_tablespace","pg_trigger","pg_ts_config","pg_ts_dict","pg_ts_parser","pg_ts_template","pg_type","pg_user_mapping"],"structurally_changed_relations":["pg_class","pg_database","pg_index"],"added_columns":4,"removed_columns":0,"type_changes":0,"description_changes":36},{"from":"9.3","to":"9.4","added_relations":["pg_replication_slots","pg_stat_archiver"],"removed_relations":[],"changed_relations":["pg_aggregate","pg_am","pg_amop","pg_class","pg_database","pg_index","pg_rewrite","pg_seclabel","pg_shseclabel","pg_stat_activity","pg_stat_all_indexes","pg_stat_all_tables","pg_stat_bgwriter","pg_stat_database","pg_stat_database_conflicts","pg_stat_replication","pg_stat_sys_tables","pg_stat_user_functions","pg_stat_user_tables","pg_statio_all_indexes","pg_statio_all_sequences","pg_statio_all_tables","pg_statio_sys_tables","pg_statio_user_tables","pg_trigger","pg_type"],"structurally_changed_relations":["pg_aggregate","pg_class","pg_index","pg_rewrite","pg_stat_activity","pg_stat_all_tables","pg_stat_replication","pg_stat_sys_tables","pg_stat_user_tables"],"added_columns":19,"removed_columns":2,"type_changes":4,"description_changes":10},{"from":"9.4","to":"9.5","added_relations":["pg_file_settings","pg_policies","pg_policy","pg_replication_origin","pg_replication_origin_status","pg_stat_ssl","pg_transform"],"removed_relations":[],"changed_relations":["pg_am","pg_attribute","pg_authid","pg_class","pg_description","pg_extension","pg_largeobject","pg_locks","pg_pltemplate","pg_proc","pg_replication_slots","pg_roles","pg_seclabel","pg_settings","pg_shadow","pg_shdescription","pg_shseclabel","pg_stat_activity","pg_stat_all_indexes","pg_stat_all_tables","pg_stat_archiver","pg_stat_bgwriter","pg_stat_database","pg_stat_database_conflicts","pg_stat_replication","pg_stat_sys_tables","pg_stat_user_functions","pg_stat_user_tables","pg_stat_xact_all_tables","pg_stat_xact_sys_tables","pg_stat_xact_user_tables","pg_statio_all_indexes","pg_statio_all_sequences","pg_statio_all_tables","pg_tables","pg_trigger","pg_type","pg_user"],"structurally_changed_relations":["pg_authid","pg_class","pg_description","pg_extension","pg_largeobject","pg_pltemplate","pg_proc","pg_replication_slots","pg_roles","pg_seclabel","pg_settings","pg_shadow","pg_shdescription","pg_shseclabel","pg_tables","pg_trigger","pg_user"],"added_columns":10,"removed_columns":4,"type_changes":0,"description_changes":12},{"from":"9.5","to":"9.6","added_relations":["pg_config","pg_init_privs","pg_stat_progress_vacuum","pg_stat_wal_receiver"],"removed_relations":[],"changed_relations":["pg_aggregate","pg_am","pg_authid","pg_collation","pg_database","pg_event_trigger","pg_extension","pg_file_settings","pg_language","pg_locks","pg_opclass","pg_operator","pg_opfamily","pg_prepared_statements","pg_proc","pg_replication_origin","pg_replication_origin_status","pg_replication_slots","pg_roles","pg_seclabel","pg_shseclabel","pg_stat_activity","pg_stat_all_indexes","pg_stat_all_tables","pg_stat_archiver","pg_stat_bgwriter","pg_stat_database","pg_stat_database_conflicts","pg_stat_replication","pg_stat_ssl","pg_stat_user_functions","pg_statio_all_indexes","pg_statio_all_sequences","pg_statio_all_tables","pg_timezone_names","pg_type"],"structurally_changed_relations":["pg_aggregate","pg_am","pg_proc","pg_replication_slots","pg_stat_activity"],"added_columns":9,"removed_columns":30,"type_changes":0,"description_changes":5},{"from":"9.6","to":"10","added_relations":["pg_hba_file_rules","pg_partitioned_table","pg_publication","pg_publication_rel","pg_publication_tables","pg_sequence","pg_sequences","pg_stat_subscription","pg_statistic_ext","pg_subscription","pg_subscription_rel"],"removed_relations":[],"changed_relations":["pg_aggregate","pg_am","pg_attribute","pg_authid","pg_cast","pg_class","pg_collation","pg_database","pg_default_acl","pg_event_trigger","pg_extension","pg_file_settings","pg_foreign_data_wrapper","pg_foreign_server","pg_foreign_table","pg_index","pg_language","pg_largeobject","pg_locks","pg_opclass","pg_operator","pg_opfamily","pg_pltemplate","pg_policies","pg_policy","pg_proc","pg_replication_origin","pg_replication_origin_status","pg_replication_slots","pg_rewrite","pg_seclabel","pg_settings","pg_shseclabel","pg_stat_activity","pg_stat_all_indexes","pg_stat_all_tables","pg_stat_archiver","pg_stat_bgwriter","pg_stat_database","pg_stat_database_conflicts","pg_stat_progress_vacuum","pg_stat_replication","pg_stat_ssl","pg_stat_user_functions","pg_stat_wal_receiver","pg_statio_all_indexes","pg_statio_all_sequences","pg_statio_all_tables","pg_statistic","pg_tablespace","pg_trigger","pg_type","pg_user_mapping","pg_user_mappings"],"structurally_changed_relations":["pg_attribute","pg_class","pg_collation","pg_policies","pg_policy","pg_replication_slots","pg_stat_activity","pg_stat_replication","pg_trigger"],"added_columns":18,"removed_columns":4,"type_changes":0,"description_changes":72},{"from":"10","to":"11","added_relations":[],"removed_relations":[],"changed_relations":["pg_aggregate","pg_am","pg_amproc","pg_attribute","pg_class","pg_constraint","pg_conversion","pg_database","pg_event_trigger","pg_extension","pg_index","pg_inherits","pg_language","pg_opclass","pg_operator","pg_opfamily","pg_partitioned_table","pg_proc","pg_publication","pg_publication_rel","pg_replication_origin","pg_replication_origin_status","pg_replication_slots","pg_seclabel","pg_shseclabel","pg_stat_activity","pg_stat_wal_receiver","pg_subscription","pg_type"],"structurally_changed_relations":["pg_aggregate","pg_attribute","pg_class","pg_constraint","pg_index","pg_partitioned_table","pg_proc","pg_publication","pg_stat_wal_receiver"],"added_columns":12,"removed_columns":3,"type_changes":0,"description_changes":20},{"from":"11","to":"12","added_relations":["pg_stat_gssapi","pg_stat_progress_cluster","pg_stat_progress_create_index","pg_statistic_ext_data","pg_stats_ext"],"removed_relations":[],"changed_relations":["pg_am","pg_amop","pg_amproc","pg_attrdef","pg_attribute","pg_authid","pg_cast","pg_class","pg_collation","pg_constraint","pg_conversion","pg_database","pg_default_acl","pg_enum","pg_event_trigger","pg_extension","pg_foreign_data_wrapper","pg_foreign_server","pg_init_privs","pg_language","pg_largeobject_metadata","pg_namespace","pg_opclass","pg_operator","pg_opfamily","pg_policy","pg_proc","pg_publication","pg_publication_rel","pg_replication_origin","pg_replication_origin_status","pg_replication_slots","pg_rewrite","pg_roles","pg_seclabel","pg_shadow","pg_shseclabel","pg_stat_activity","pg_stat_all_indexes","pg_stat_all_tables","pg_stat_archiver","pg_stat_bgwriter","pg_stat_database","pg_stat_database_conflicts","pg_stat_progress_vacuum","pg_stat_replication","pg_stat_ssl","pg_stat_subscription","pg_stat_user_functions","pg_stat_wal_receiver","pg_statio_all_indexes","pg_statio_all_sequences","pg_statio_all_tables","pg_statistic","pg_statistic_ext","pg_subscription","pg_tablespace","pg_transform","pg_trigger","pg_ts_config","pg_ts_dict","pg_ts_parser","pg_ts_template","pg_type","pg_user","pg_user_mapping"],"structurally_changed_relations":["pg_am","pg_amop","pg_amproc","pg_attrdef","pg_attribute","pg_authid","pg_cast","pg_class","pg_collation","pg_constraint","pg_conversion","pg_database","pg_default_acl","pg_enum","pg_event_trigger","pg_extension","pg_foreign_data_wrapper","pg_foreign_server","pg_language","pg_largeobject_metadata","pg_namespace","pg_opclass","pg_operator","pg_opfamily","pg_policy","pg_proc","pg_publication","pg_publication_rel","pg_rewrite","pg_shadow","pg_stat_database","pg_stat_replication","pg_stat_ssl","pg_statistic","pg_statistic_ext","pg_subscription","pg_tablespace","pg_transform","pg_trigger","pg_ts_config","pg_ts_dict","pg_ts_parser","pg_ts_template","pg_type","pg_user","pg_user_mapping"],"added_columns":14,"removed_columns":7,"type_changes":2,"description_changes":71},{"from":"12","to":"13","added_relations":["pg_shmem_allocations","pg_stat_progress_analyze","pg_stat_progress_basebackup","pg_stat_slru"],"removed_relations":["pg_pltemplate"],"changed_relations":["pg_authid","pg_available_extension_versions","pg_event_trigger","pg_inherits","pg_locks","pg_policy","pg_proc","pg_publication","pg_publication_rel","pg_replication_slots","pg_seclabel","pg_shadow","pg_shseclabel","pg_stat_activity","pg_stat_all_indexes","pg_stat_all_tables","pg_stat_archiver","pg_stat_bgwriter","pg_stat_database","pg_stat_database_conflicts","pg_stat_gssapi","pg_stat_progress_cluster","pg_stat_progress_create_index","pg_stat_progress_vacuum","pg_stat_replication","pg_stat_ssl","pg_stat_subscription","pg_stat_sys_tables","pg_stat_user_functions","pg_stat_user_tables","pg_stat_wal_receiver","pg_statio_all_indexes","pg_statio_all_sequences","pg_statio_all_tables","pg_statistic_ext","pg_subscription","pg_subscription_rel","pg_transform","pg_trigger","pg_type"],"structurally_changed_relations":["pg_available_extension_versions","pg_publication","pg_replication_slots","pg_stat_activity","pg_stat_all_tables","pg_stat_sys_tables","pg_stat_user_tables","pg_stat_wal_receiver","pg_statistic_ext","pg_subscription","pg_subscription_rel","pg_trigger"],"added_columns":12,"removed_columns":1,"type_changes":0,"description_changes":33},{"from":"13","to":"14","added_relations":["pg_backend_memory_contexts","pg_stat_progress_copy","pg_stat_replication_slots","pg_stat_wal","pg_stats_ext_exprs"],"removed_relations":[],"changed_relations":["pg_am","pg_attribute","pg_authid","pg_class","pg_collation","pg_constraint","pg_database","pg_default_acl","pg_depend","pg_event_trigger","pg_extension","pg_foreign_table","pg_inherits","pg_language","pg_locks","pg_opclass","pg_operator","pg_opfamily","pg_partitioned_table","pg_policy","pg_prepared_statements","pg_proc","pg_publication","pg_publication_rel","pg_range","pg_replication_origin","pg_replication_origin_status","pg_replication_slots","pg_roles","pg_seclabel","pg_sequence","pg_shadow","pg_shdepend","pg_shmem_allocations","pg_shseclabel","pg_stat_activity","pg_stat_database","pg_stat_database_conflicts","pg_stat_progress_analyze","pg_stat_progress_basebackup","pg_stat_progress_cluster","pg_stat_progress_create_index","pg_stat_progress_vacuum","pg_stat_ssl","pg_statistic","pg_statistic_ext","pg_statistic_ext_data","pg_stats","pg_stats_ext","pg_subscription","pg_subscription_rel","pg_transform","pg_trigger","pg_ts_parser","pg_ts_template","pg_type","pg_user","pg_user_mapping","pg_user_mappings"],"structurally_changed_relations":["pg_attribute","pg_inherits","pg_locks","pg_prepared_statements","pg_proc","pg_range","pg_replication_slots","pg_stat_activity","pg_stat_database","pg_stat_ssl","pg_statistic_ext","pg_statistic_ext_data","pg_stats_ext","pg_subscription","pg_type"],"added_columns":22,"removed_columns":1,"type_changes":0,"description_changes":91},{"from":"14","to":"15","added_relations":["pg_ident_file_mappings","pg_parameter_acl","pg_publication_namespace","pg_stat_recovery_prefetch","pg_stat_subscription_stats"],"removed_relations":[],"changed_relations":["pg_am","pg_class","pg_collation","pg_constraint","pg_conversion","pg_database","pg_depend","pg_index","pg_publication_rel","pg_publication_tables","pg_seclabel","pg_sequences","pg_settings","pg_shdepend","pg_shmem_allocations","pg_shseclabel","pg_stat_archiver","pg_stat_database","pg_stat_progress_analyze","pg_stat_progress_basebackup","pg_stat_progress_cluster","pg_stat_progress_create_index","pg_stat_progress_vacuum","pg_stat_subscription","pg_statistic","pg_statistic_ext_data","pg_stats","pg_stats_ext","pg_stats_ext_exprs","pg_subscription","pg_type"],"structurally_changed_relations":["pg_collation","pg_constraint","pg_database","pg_index","pg_publication_rel","pg_publication_tables","pg_statistic_ext_data","pg_stats_ext","pg_stats_ext_exprs","pg_subscription"],"added_columns":16,"removed_columns":1,"type_changes":4,"description_changes":27},{"from":"15","to":"16","added_relations":["pg_stat_io"],"removed_relations":[],"changed_relations":["pg_attribute","pg_auth_members","pg_collation","pg_constraint","pg_database","pg_hba_file_rules","pg_ident_file_mappings","pg_locks","pg_prepared_statements","pg_replication_slots","pg_shmem_allocations","pg_stat_activity","pg_stat_all_indexes","pg_stat_all_tables","pg_stat_database_conflicts","pg_stat_gssapi","pg_stat_progress_analyze","pg_stat_progress_basebackup","pg_stat_progress_cluster","pg_stat_progress_create_index","pg_stat_progress_vacuum","pg_stat_subscription","pg_stat_sys_indexes","pg_stat_sys_tables","pg_stat_user_indexes","pg_stat_user_tables","pg_stat_xact_all_tables","pg_stat_xact_sys_tables","pg_stat_xact_user_tables","pg_subscription"],"structurally_changed_relations":["pg_attribute","pg_auth_members","pg_collation","pg_constraint","pg_database","pg_hba_file_rules","pg_ident_file_mappings","pg_prepared_statements","pg_replication_slots","pg_stat_all_indexes","pg_stat_all_tables","pg_stat_database_conflicts","pg_stat_gssapi","pg_stat_subscription","pg_stat_sys_indexes","pg_stat_sys_tables","pg_stat_user_indexes","pg_stat_user_tables","pg_stat_xact_all_tables","pg_stat_xact_sys_tables","pg_stat_xact_user_tables","pg_subscription"],"added_columns":32,"removed_columns":0,"type_changes":5,"description_changes":52},{"from":"16","to":"17","added_relations":["pg_stat_checkpointer","pg_wait_events"],"removed_relations":[],"changed_relations":["pg_am","pg_attribute","pg_authid","pg_class","pg_collation","pg_constraint","pg_database","pg_event_trigger","pg_extension","pg_foreign_data_wrapper","pg_foreign_server","pg_init_privs","pg_language","pg_largeobject_metadata","pg_locks","pg_namespace","pg_opclass","pg_operator","pg_opfamily","pg_parameter_acl","pg_proc","pg_publication","pg_publication_rel","pg_replication_origin","pg_replication_origin_status","pg_replication_slots","pg_roles","pg_seclabel","pg_shadow","pg_shmem_allocations","pg_shseclabel","pg_stat_activity","pg_stat_bgwriter","pg_stat_progress_analyze","pg_stat_progress_basebackup","pg_stat_progress_cluster","pg_stat_progress_copy","pg_stat_progress_create_index","pg_stat_progress_vacuum","pg_stat_slru","pg_stat_subscription","pg_stat_wal","pg_statistic_ext","pg_stats","pg_subscription","pg_tablespace","pg_type","pg_user"],"structurally_changed_relations":["pg_attribute","pg_collation","pg_database","pg_replication_slots","pg_stat_bgwriter","pg_stat_progress_copy","pg_stat_progress_vacuum","pg_stat_subscription","pg_statistic_ext","pg_stats","pg_subscription"],"added_columns":18,"removed_columns":11,"type_changes":1,"description_changes":47},{"from":"17","to":"18","added_relations":["pg_aios","pg_shmem_allocations_numa"],"removed_relations":[],"changed_relations":["pg_am","pg_attrdef","pg_attribute","pg_backend_memory_contexts","pg_class","pg_constraint","pg_default_acl","pg_locks","pg_proc","pg_publication","pg_publication_rel","pg_replication_slots","pg_seclabel","pg_shmem_allocations","pg_shseclabel","pg_stat_activity","pg_stat_all_tables","pg_stat_checkpointer","pg_stat_database","pg_stat_io","pg_stat_progress_analyze","pg_stat_progress_vacuum","pg_stat_subscription_stats","pg_stat_sys_tables","pg_stat_user_tables","pg_stat_wal","pg_subscription","pg_timezone_abbrevs","pg_type"],"structurally_changed_relations":["pg_attribute","pg_backend_memory_contexts","pg_class","pg_constraint","pg_publication","pg_replication_slots","pg_stat_all_tables","pg_stat_checkpointer","pg_stat_database","pg_stat_io","pg_stat_progress_analyze","pg_stat_progress_vacuum","pg_stat_subscription_stats","pg_stat_sys_tables","pg_stat_user_tables","pg_stat_wal"],"added_columns":35,"removed_columns":7,"type_changes":0,"description_changes":33},{"from":"18","to":"19","added_relations":["pg_dsm_registry_allocations","pg_propgraph_element","pg_propgraph_element_label","pg_propgraph_label","pg_propgraph_label_property","pg_propgraph_property","pg_publication_sequences","pg_stat_autovacuum_scores","pg_stat_lock","pg_stat_progress_data_checksums","pg_stat_progress_repack","pg_stat_recovery"],"removed_relations":[],"changed_relations":["pg_aggregate","pg_authid","pg_available_extension_versions","pg_available_extensions","pg_class","pg_database","pg_foreign_data_wrapper","pg_foreign_server","pg_init_privs","pg_language","pg_largeobject_metadata","pg_namespace","pg_parameter_acl","pg_proc","pg_publication","pg_publication_rel","pg_range","pg_replication_slots","pg_roles","pg_seclabel","pg_shadow","pg_shseclabel","pg_stat_all_indexes","pg_stat_all_tables","pg_stat_database","pg_stat_database_conflicts","pg_stat_io","pg_stat_progress_analyze","pg_stat_progress_basebackup","pg_stat_progress_cluster","pg_stat_progress_copy","pg_stat_progress_create_index","pg_stat_progress_vacuum","pg_stat_replication","pg_stat_replication_slots","pg_stat_subscription","pg_stat_subscription_stats","pg_stat_sys_indexes","pg_stat_sys_tables","pg_stat_user_functions","pg_stat_user_indexes","pg_stat_user_tables","pg_stat_wal","pg_stat_wal_receiver","pg_statio_all_indexes","pg_statio_all_sequences","pg_statio_all_tables","pg_statio_sys_indexes","pg_statio_sys_sequences","pg_statio_sys_tables","pg_statio_user_indexes","pg_statio_user_sequences","pg_statio_user_tables","pg_stats","pg_stats_ext","pg_stats_ext_exprs","pg_subscription","pg_subscription_rel","pg_tablespace","pg_type","pg_user"],"structurally_changed_relations":["pg_available_extension_versions","pg_available_extensions","pg_foreign_data_wrapper","pg_publication","pg_publication_rel","pg_range","pg_replication_slots","pg_stat_all_indexes","pg_stat_all_tables","pg_stat_database_conflicts","pg_stat_progress_analyze","pg_stat_progress_basebackup","pg_stat_progress_vacuum","pg_stat_replication_slots","pg_stat_subscription_stats","pg_stat_sys_indexes","pg_stat_sys_tables","pg_stat_user_functions","pg_stat_user_indexes","pg_stat_user_tables","pg_stat_wal","pg_statio_all_indexes","pg_statio_all_sequences","pg_statio_all_tables","pg_statio_sys_indexes","pg_statio_sys_sequences","pg_statio_sys_tables","pg_statio_user_indexes","pg_statio_user_sequences","pg_statio_user_tables","pg_stats","pg_stats_ext","pg_stats_ext_exprs","pg_subscription"],"added_columns":53,"removed_columns":1,"type_changes":0,"description_changes":47}],"stats":{"version_count":17,"relation_count":157,"relation_snapshots":2032,"column_snapshots":19171,"structural_changes":335,"adjacent_change_records":732,"system_column_snapshots":5934},"provenance":{"primary":"PostgreSQL Global Development Group documentation and release-tag source","upstream_project":"https://github.com/richyen/pg-catalog-almanac","upstream_project_role":"Inspiration and independently archived cross-check; this dataset is regenerated from official sources.","documentation_license":"PostgreSQL License","manifest":"/data/source-manifest.json","methodology":"/about/","schema":"/data/schema.json"},"calibration":{"passed":true,"report":"/data/calibration.json","coverage":"/coverage/","method":"Every major snapshot calibrated against fresh initdb of its exact release."}}
